PHP 实现保存在服务器的登录密码加密后的md5(下称登录密码密文), * 具体算法是用登录密码计算md5得到16字节数据作为aes加密的key和被加密内容, * 得到密文数据计算md5得到16字节数据,16进制编码得到32位字符串,完毕, * 即hex(md5(aes(md5(password), md5(password)))), * 如密码为123456,计算出密码密文为7ba1bd982b33ac731c2c3bca90e77be9
时间: 2024-03-13 21:44:46 浏览: 57
php结合md5实现的加密解密方法
以下是PHP实现保存在服务器的登录密码加密后的md5的代码:
```
$password = "123456"; // 待加密的密码
$md5_password = md5($password); // 计算md5得到16字节数据作为aes加密的key和被加密内容
$key = substr($md5_password, 0, 16); // 取前16个字节作为key
$encrypted = openssl_encrypt($md5_password, 'AES-128-ECB', $key); // aes加密
$md5_encrypted = md5($encrypted); // 计算md5得到16字节数据
$hash_password = hex2bin($md5_encrypted); // 转换为二进制格式,得到最终的密码哈希值
```
其中,$hash_password就是加密后的密码哈希值。注意,需要在服务器端安装openssl扩展,才能使用openssl_encrypt函数。
阅读全文