Laravel使用Bcrypt加密方式存储及校验密码:
//对 A 密码使用 bcrypt 加密
$password = Hash::make('secret');
//也可直接使用 bcrypt 的 function
$password = bcrypt('secret');
//对加密的 A 密码进行验证
if (Hash::check('secret', $hashedPassword)) {
// The passwords match...
}
//检查 A 密码是否需要重新加密
if (Hash::needsRehash($hashed)) {
$hashed = Hash::make('secret');
}
目前常用的不可逆加密算法:
- MD5及加盐
- SHA及加盐
- PBKDF2算法
- bcrypt
通常推荐使用 bcrypt 或 PBKDF2 这两种算法来对密码进行加密,bcrypt不支持超过55个字符的密码短语。