我想创建一个string_variable
的散列。
在Python2中:
def get_hash_python2(string_variable):
import hashlib
m = hashlib.md5()
m.update(string_variable) # this takes string as argument
return m.digest()
在Python3中:
def get_hash_python3(string_as_bytes)
import hashlib
m = hashlib.md5()
m.update(string_as_bytes) # this takes bytes as argument
return m.digest()
如何编写一个get_hash
函数来获取string_variable
的哈希值,同时兼容Python2和Python3?
3条答案
按热度按时间nle07wnf1#
使用
str.encode
将字符串变量转换为hashlib可接受的适当形式都在巨蟒2号和巨蟒3号上
5jvtdoz22#
在python3中如果我没猜错的话
lc8prwob3#
当我写代码在Python2或Python3中运行时,我经常会有一个Python2版本和一个不同的Python3版本,在
if
中检查版本。此版本测试仅适用于Python2的2.6和2.7版本。
若要转换仅包含从0到255的数值的字符串,可以执行以下操作:
这只在Python3中有效。通过将
bytes
更改为bytearray
,它在Python2和Python3中都有效。