mysql 密码加密

mysql 密码加密,第1张

1.mysqladmin -uxxx -p password "newpassword"

这个方法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')

如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8486950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存