mcrypt 扩展名是已弃用 http://php.net/manual/en/migration71.deprecated.php#migration71.deprecated.ext-mcrypt根据发布的评论,将在 PHP 7.2 中删除here https://bugs.php.net/bug.php?id=73734。所以我正在寻找一种加密密码的替代方法。
现在我正在使用类似的东西
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-cryption https://paragonie.com/white-paper/2015-secure-php-data-encryption。总结一下该链接:
- Use 利钠 https://github.com/jedisct1/libsodium- PHP 扩展
- 如果您不能使用 Libsodium,请使用化解/php 加密 https://github.com/defuse/php-encryption- 直接的 PHP 代码
- 如果您不能使用 Libsodium 或 defuse/php-encryption,请使用OpenSSL http://php.net/manual/en/book.openssl.php- 很多服务器已经安装了这个。如果没有,可以用 --with-openssl[=DIR] 编译
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)