java – MD5每个密码的字母值得吗?

问候,

我目前正在开发一个涉及登录系统的项目,该系统旨在尽可能安全地进行设置.

我要问的是,MD5中的每个元素(从密码字段获取)是否值得,通过它向每个要使用MD5进行哈希处理的char元素添加一个salt,完成后,添加全部从每个角色的哈希值,然后添加一个单独的盐,然后MD5再次?

这实际上是安全的,还是只是矫枉过正?

解决方法:

根本不安全,因为密钥空间只有255.在每个字母上添加一个盐只会在整个字符串中添加相同的盐,并且可能会减少哈希的熵而不是增加它.

正确的解决方案是使用正确的密码散列算法(如bcrypt,scrypt或pbkdf2)并避免编写自己的算法.

MD5(以及SHA-1,SHA-2等)非常快,无论如何都很容易破解密码.

编辑

今天我们看到了一个很好的例子:iPhone hacker publishes secret Sony PlayStation 3 key

However, Sony wrote their own signing software, which used a constant number for each signature.

上一篇:php – 如何在配置文件中隐藏密码


下一篇:如何使用Python在Windows中修改密码到期?