In [16]:
import hashlib
m = hashlib.md5()
m.update('abc'.encode('utf-8'))
result=m.hexdigest()
print('abc的md5值是:{}'.format(result))
print('md5值的长度是:{}'.format(len(result)))
In [19]:
sha256 = hashlib.sha256()
sha256.update('abc'.encode(encoding='utf-8'))
print(sha256.hexdigest())
小结¶
- sha256及sha512目前是较为安全的散列算法,被破解的时间成本非常高
- 有条件的情况下建议使用hmac算法,它接受一个盐值,在计算过程中导混入盐值,这种方式会更安全,更标准化。下面是一个hmac的示例
In [22]:
import hmac
key=b'secret'
hm = hmac.new(key,'abc'.encode(encoding='utf-8'),digestmod="sha256")
print(hm.hexdigest())