PHP实现/** * 登录密码 * 使用时有两种形式的登录密码, * 1. 保存在服务器的登录密码加密后的md5(下称登录密码密文), * 具体算法是用登录密码计算md5得到16字节数据作为aes加密的key和被加密内容, * 得到密文数据计算md5得到16字节数据,16进制编码得到32位字符串,完毕, * 即hex(md5(aes(md5(password), md5(password)))), * 如密码为123456,计算出密码密文为7ba1bd982b33ac731c2c3bca90e77be9 * 2. 不传输不保存只作为加解密key临时使用的只有用户本人知道的登录密码(下称登录密码明文),无法通过服务器保存的的登录密码密文转换得到, * 即md5(password), * 具体算法是用登录密码计算md5得到16字节数据,完毕, */
时间: 2024-04-22 15:27:43 浏览: 127
php实现的密码登录网站
您想要实现的是一个登录密码验证的功能,其中包括两种形式的登录密码,分别是保存在服务器的登录密码密文和用户本人知道的登录密码明文。
对于第一种形式的登录密码密文,您可以使用以下算法进行验证:
1. 将用户输入的密码计算出md5值,得到16字节数据作为aes加密的key和被加密内容。
2. 将计算出的md5值作为aes加密的key,将用户输入的密码作为被加密内容进行aes加密。
3. 将加密后的数据再次计算md5值,得到16字节数据,将其转换为32位字符串(16进制编码),即为保存在服务器的登录密码密文。
4. 将服务器保存的登录密码密文与用户输入的密码进行比较,如果相等则验证通过。
对于第二种形式的登录密码明文,您可以使用以下算法进行验证:
1. 将用户输入的密码计算出md5值,得到16字节数据。
2. 将计算出的md5值作为登录密码的密钥进行加密。
3. 将加密后的数据与服务器保存的登录密码密文进行比较,如果相等则验证通过。
值得注意的是,第二种形式的登录密码明文无法通过服务器保存的登录密码密文转换得到,因此更为安全可靠。
阅读全文