时间:2021-07-01 10:21:17 帮助过:44人阅读
mysql> SELECT * FROM users WHERE username=‘fantasy‘; +----------+----------+ | username | password | +----------+----------+ | fantasy | ?í1? | +----------+----------+ 1 row in set (0.02 sec) abcd这个密钥对于恢复到原始的字符串至关重要。这个密钥必须被传递给DECODE()函数,以获得原始的、未加密的密码。下面就是它的使用方法: mysql> SELECT DECODE(password, ‘abcd‘) FROM users WHERE username=‘fantasy‘; +---------------------------------+ | DECODE(password, ‘abcd‘) | +---------------------------------+ | 123456 | +---------------------------------+ 1 row in set (0.00 sec)
应该很容易就看到它在Web应用程序里是如何运行的——在验证用户登录的时候,DECODE()会用网站专用的密钥解开保存在数据库里的密码,并和用户输入的内容进行对比。假设您把PHP用作自己的脚本语言,那么可以像下面这样进行查询:
$query = "SELECT COUNT(*) FROM users WHERE username=‘$username‘ AND DECODE(password, ‘abcd‘) = ‘$password‘";
注意:虽然ENCODE()和DECODE()这两个函数能够满足大多数的要求,但是有的时候您希望使用强度更高的加密手段。在这种情况下,您可以使用AES_ENCRYPT()和AES_DECRYPT()函数,它们的工作方式是相同的,但是加密强度更高点。
mysql加密解密方式用法
标签:自己的 where 存在 mysql数据库 加密手段 工作方式 网站 mysq 复制