时间: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 复制