密码加密指的是将原密码经过一定的算法,得到密文,然后将密文存储到数据库中。
首先,并不推荐使用加密算法对密码进行加密,因为加密算法都是可以被逆运算的,即:如果能得到密文及加密过程中的所有参数,就可以逆向运算得到原文。
推荐使用摘要算法对密码进行加密,摘要算法的特点有:
1. 如果原文相同,运算得到的摘要数据必然相同;
2. 如果摘要算法不变,无论原文长度是多少,摘要数据的长度是固定的;
3. 如果原文不同,运算得到的摘要数据几乎不可能相同。
常见的摘要算法有SHA系列和MD系列,是公开的算法。
为了保证密码不被反查,可以:
1. 使用安全强度更高的原始密码;
2. 加盐;
3. 多重加密;
4. 使用位数更长的摘要算法。