关于密码加密

附:关于密码加密

基本原则:存储到数据库中的密码必须加密处理!并且,必须使用不可逆的算法!

所有的哈希算法都是不可逆的,其中,消息摘要算法都属于哈希算法!典型的消息摘要算法包括MD系列的和SHA家族的算法!

由于消息摘要算法的摘要结果长度是固定的,所以,在用于加密时,如果没有做进一步处理,可能会被穷举的方式破解(破解方列举出所有可能的密码与摘要,通过查询的方式,根据密文找出原文)。

为了保障密码安全,基础的加强操作有:

  • 尽可能的要求用户使用长度更长的密码,并使用安全强度更高(有更多的字符组合)的密码
  • 多重加密
  • 加盐
  • 使用更加安全的算法(例如从MD5升级为SHA256甚至SHA512)
  • 综合以上做法

甚至,在使用盐时,还可以使用随机的盐值,但是,需要注意,如果使用了随机盐值,则这个随机盐值必须被记录下来(可以作为最终密文的一部分,或者在数据表中使用单独的字段存储等),否则后续将无法正确的验证密码!

你可能感兴趣的:(后端)