hashlib python2 vs python3
提示:所有变量都是字符串。我正在使用hashlib lib
from hashlib import sha256, md5
S2_SRP_MAGIC1 = "[!~esTo0}"
S2_SRP_MAGIC2 = "taquzaph_?98phab&junaj=z=kuChusu"
S2_SALT2 = "p^^^&bjRlXi4B=A1y.@Vz)"
password = "asd"
在Python 2中效果很好:
p = sha256(md5(md5(password + S2_SALT2 + S2_SRP_MAGIC1) + S2_SRP_MAGIC2))
当我将此线移植到Python3时,响应是:
TypeError: Unicode-objects must be encoded before hashing
我进行了一些研究并修改了这条线,所以它不会给我任何错误,但我不确定是否这样做正确,因为SRP Auth不起作用。 我的新线:
p = sha256((md5((md5(password.encode()).hexdigest() + S2_SALT2 + S2_SRP_MAGIC1).encode()).hexdigest() + S2_SRP_MAGIC2).encode()).hexdigest()
这是完全错误的还是正确的?
Hint: all variables are strings. and im using the hashlib lib
from hashlib import sha256, md5
S2_SRP_MAGIC1 = "[!~esTo0}"
S2_SRP_MAGIC2 = "taquzaph_?98phab&junaj=z=kuChusu"
S2_SALT2 = "p^^^&bjRlXi4B=A1y.@Vz)"
password = "asd"
this line worked fine in python 2:
p = sha256(md5(md5(password + S2_SALT2 + S2_SRP_MAGIC1) + S2_SRP_MAGIC2))
When i port this line to python3 the response is:
TypeError: Unicode-objects must be encoded before hashing
I did a little research and modified the line so it wont give me any errors, but im not sure if i did it correct, because the srp auth isnt working.
my new line:
p = sha256((md5((md5(password.encode()).hexdigest() + S2_SALT2 + S2_SRP_MAGIC1).encode()).hexdigest() + S2_SRP_MAGIC2).encode()).hexdigest()
Is that completly wrong or is it correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论