这个方法win下不好用
2.进入mysql后
set password for '用户名'@'hostname' identified by 'newpassword'
3.进入mysql后
grant usage on *.* to '用户名'@'hostname' identified by 'newpassword'
4.修改user表
use mysql
update user set password=password('newpassword') where user='xxxx'
使用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加密结果一致,只是大小写差异。
首先,先介绍下加密函数,PASSWORD(string)函数可以对字符串string进行加密,代码如下:SELECT
PASSWORD('you')
执行第一步的SQL语句,查询结果是一串字符串,并且PASSWORD(string)函数加密是不可逆转,
如下图所示:
另外一个加密函数MD5(string),主要针对普通的数据进行加密,代码如下:
SELECT
MD5('hai')
如下图所示:
最后一个加密函数ENCODE(string,pass),可以使用字符串pass来加密字符串string。首先要创建一个数据库表t_pass_info,代码如下:
CREATE
TABLE
t_pass_info(
id
int(10),
pass_info
blob
)
如下图所示:
然后,向这个数据库表插入一条数据,代码如下:
INSERT
INTO
t_pass_info(id,pass_info)
VALUES
(1,ENCODE('dong','bb'))
如下图所示:
6
查看插入数据库表t_pass_info记录,代码如下:
SELECT
*
FROM
t_pass_info
如下图所示:
7
MySQL自带还有一个解密函数DECODE(str,pass_str),可以使用字符串pass_str来为str解密,代码如下:
SELECT
DECODE(ENCODE('dong','aa'),'aa')
如下图所示:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)