前言
最近看到一位前辈在说PBKDF2是比较落后的了,然后提了bcrypt、scrypt,小白不知道这个是什么玩意。这里记录一下。
密码加密的方法有那些?
用户密码加密方式
用户密码保存到数据库时,常见的加密方式有哪些?以下几种方式是常见的密码保存方式:
1. 明文保存
比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
2. 对称加密算法来保存
比如DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的,当然前提条件是需要获取到密钥。不过既然大量的用户信息已经泄露了,密钥很可能也会泄露,当然可以将一般数据和密钥分开存储、分开管理,但要完全保护好密钥也是一件非常复杂的事情,所以这种方式并不是很好的方式。
3. MD5、SHA1等单向HASH算法
使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,
本文介绍了密码加密的多种方法,包括明文保存、对称加密、MD5和SHA1等单向HASH算法。重点讲解了PBKDF2、bcrypt和scrypt这三种增强型加密算法,它们通过增加随机盐和多次HASH运算来提高安全性,抵御彩虹表攻击。其中,scrypt被认为在理论上安全性最高,但实际应用并不广泛,而bcrypt由于其可调整的计算强度和广泛支持,成为许多系统的首选。
订阅专栏 解锁全文
613

被折叠的 条评论
为什么被折叠?



