扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用mysql的加密函数运行:
成都创新互联服务项目包括龙南网站建设、龙南网站制作、龙南网页制作以及龙南网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,龙南网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到龙南省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
select HEX(AES_ENCRYPT( 'test aes encrypt','123')) as aesTest
输出密文:
17CDAE577C715A0B5A922BF07462622AF15884B6D0F596B0241DC8F966C4A93F
官方文档解释:
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” .
在线加密验证 :
该网加密结果为:
17cdae577c715a0b5a922bf07462622af15884b6d0f596b0241dc8f966c4a93f
与mysql加密结果一致,只是大小写差异。
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位。
MD5是不可逆的。
但是同样值的字符串只能有一个MD5编码。
所以用户登录输入密码后:
在后台验证时是先把取得的用户密码转换成MD5码,然后和数据库中的MD5码比较。
如果你的字段够长度的话:
UPDATE users SET password = MD5(password);
如果长度不够,可以先增加长度后再做,或者多建一列,完成后删除原来的列!(如passwd)
UPDATE users SET passwd = MD5(password);
首先,先介绍下加密函数,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');
如下图所示:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流