MySQL数据库的认证密码有两种方式,
MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,
MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
select old_password('111111')
(2)以MySQLSHA1方式加密
select password('111111')
MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。
保护些数据免受黑客或者窥探者获取令关注重要问题您既能让未经授权员使用或者破坏应用程序同要保证您竞争优势幸运MySQL带设计用提供种类型安全加密函数本文概述其些函数并说明何使用及能够提供同级别安全双向加密让我简单加密始:双向加密段数据通密钥加密能够由知道密钥解密mysql两函数支持种类型加密别叫做ENCODE()DECODE()面简单实例:mysql>INSERT INTO users (username, password) VALUES ('joe', ENCODE('guessme', 'abracadabra'))Query OK, 1 row affected (0.14 sec)其Joe密码guessme通密钥abracadabra加密要注意加密完结二进制字符串所示:mysql>SELECT * FROM users WHERE username='joe'
+----------+----------+
| username | password |
+----------+----------+
| joe | 03?i?!? |
+----------+----------+
1 row in set (0.02 sec)abracadabra密钥于恢复原始字符串至关重要密钥必须传递给DECODE()函数获原始、未加密密码面使用:mysql>SELECT DECODE(password, 'abracadabra') FROM users WHERE username='joe'+---------------------------------+
| DECODE(password, 'abracadabra') |
+---------------------------------+
| guessme |
$query = "SELECT COUNT(*) FROM users WHERE username='$inputUser' AND DECODE(password, 'abracadabra') = '$inputPass'"?>提示:虽ENCODE()DECODE()两函数能够满足数要求候您希望使用强度更高加密手段
使用mysql的加密函数运行:
select HEX(AES_ENCRYPT( 'test aes encrypt','123')) as aesTest
输出密文:
17CDAE577C715A0B5A922BF07462622AF15884B6D0F596B0241DC8F966C4A93F
https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_aes-encrypt
官方文档解释:
The block_encryption_mode system variable controls the mode for block-based encryption algorithms. Its default value is <font color="red"> aes-128-ecb </font>, which signifies encryption using a key length of 128 bits and ECB mode. For a description of the permitted values of this variable, see Section 5.1.8, “Server System Variables” .
在线加密验证 : http://tool.chacuo.net/cryptaes
该网加密结果为:
17cdae577c715a0b5a922bf07462622af15884b6d0f596b0241dc8f966c4a93f
与mysql加密结果一致,只是大小写差异。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)