根据here发布的评论,mcrypt-extension是deprecated将在PHP 7.2中删除.所以我正在寻找另一种加密密码的方法.
现在我正在使用类似的东西
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, md5($key, true), $string, MCRYPT_MODE_CBC, $iv)
我需要您对加密密码的最佳/最强方式的意见,加密密码当然应该由PHP 7.xx支持,并且还应该是可解密的,因为我的客户确实想要选择“恢复”他们的密码而不生成新的密码一.
解决方法:
散列密码是最佳做法,因此它们不可解密.这使得可能获得对您的数据库或文件的访问权的攻击者更加困难.
如果您必须加密数据并使其可解密,则可在https://paragonie.com/white-paper/2015-secure-php-data-encryption获得安全加密/解密指南.总结该链接:
>使用Libsodium – PHP扩展
>如果您不能使用Libsodium,请使用defuse/php-encryption – 直接PHP代码
>如果你不能使用Libsodium或defuse / php-encryption,请使用OpenSSL – 许多服务器已经安装了这个.如果没有,可以用–with-openssl [= DIR]编译