Python hashlib

摘要算法

摘要算法是单向加密的,也就是说你的明文通过摘要算法加密之后,是不能解密的。摘要算法的第二个特点密文是固定长度的,无论你的明文长度多少,加密之后都是一样的长度。之所以叫摘要算法,它算法的就是通过提取明文重要的特征。所以,两个不同的明文,使用了摘要算法之后,有可能出现他们的密文的一样,不过这个概率非常的低。


md5

md5 是常见的摘要算法,不过现在单纯的 md5 加密已经很不安全,黑客通过 撞库 的方式,常见密码的 md5 值很容易就能查询得到。

>>> import hashlib
>>> md5 = hashlib.md5()
>>> md5.update('date'.encode('utf-8'))
>>> md5.hexdigest()

'ce5f6cc34fbf471fd55d186da4833805' # 得到了这串 32 位的字符,就是 'date' 的密文

sha1

sha1 是比 md5 更安全一点的摘要,md5 的密文是 32 位,而 sha1 是 40 位,sha1 的升级版还有sha256sha512,版本越强密文越长,代价是速度越慢。

>>> import hashlib
>>> sha1 = hashlib.sha1()
>>> sha1.update('date'.encode('utf-8'))
>>> sha1.hexdigest()

'e927d0677c77241b707442314346326278051dd6' # 用法和 md5 一样
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程