我对加密知之甚少,所以请原谅我的知识湖。我使用了codeigniter默认库进行加密。在这个库中说明了
默认情况下,加密库将使用您配置的encryption_key和SHA512 HMAC身份验证在CBC模式下使用AES-128密码。
在配置文件中,我为此加密设置了密钥。直到现在我已经成功注册了新用户。但现在登录我必须匹配密码。我想知道如何使用postgresql实现这一目标?我见过md5文章,但没有看到AES加密。
此外,检查用户名和加密密码两者或获取密码,解密然后将其与插入的密码相匹配的正确方法是什么?
P.S:对于否定投票,请不要忘记留下评论:) 干杯!
答案 0 :(得分:1)
如果您仔细阅读CodeIgniter's Encryption Library的文档,您会发现它明确指出它不应该用于密码存储:
请勿使用此密码库或任何其他加密库进行用户密码存储!密码必须经过哈希处理,您应该通过PHP自己的密码哈希扩展来实现。
PHP's own Password Hashing extension包含Narf在评论中提到的两个函数:password_hash()
& password_verify()
。
有关详细信息,请查看此处的示例:https://secure.php.net/manual/en/function.password-verify.php