Python语言安全密码散列
示例
hashlib模块公开的PBKDF2算法可用于执行安全的密码哈希。虽然此算法无法防止暴力攻击以从存储的哈希中恢复原始密码,但它使此类攻击非常昂贵。
import hashlib
import os
salt = os.urandom(16)
hash = hashlib.pbkdf2_hmac('sha256', b'password', salt, 100000)PBKDF2可以与任何摘要算法配合使用,以上示例通常使用SHA256。应该将随机盐和散列密码一起存储,您将再次需要它,以便将输入的密码与存储的散列进行比较。每个密码都必须用不同的盐进行哈希处理,这一点很重要。至于轮数,建议为您的应用设置尽可能高的值。
如果您希望结果为十六进制,则可以使用以下binascii模块:
import binascii hexhash = binascii.hexlify(hash)
注意:虽然PBKDF2不错,但bcrypt(尤其是scrypt)被认为更能抵抗暴力攻击。目前,这两者都不是Python标准库的一部分。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短