AI全文总结:

这篇技术博客主要介绍了数据库级别的MD5加密。文章首先解释了MD5是什么,它是一种被广泛使用的密码散列函数,能够产生出一个128位的散列值,以确保信息传输的完整一致性。然后,文章介绍了MD5的历史和现状,指出虽然MD5在某些场合下仍然被使用,但由于其存在的弱点,对于需要高度安全性的数据,建议采用其他算法,如SHA-2。

接着,文章以SQLyog工具为例,说明了在数据库使用中,密码栏会自动进行MD5加密。然后,通过具体的SQL语句示例,展示了如何在数据库中测试MD5加密,包括插入明文密码、更新密码为MD5加密形式、插入数据时直接进行MD5加密以及如何验证用户密码。

最后,文章总结说,关于数据库级别的MD5加密的内容就这么多,供读者学习和参考,并鼓励读者在下方评论区留言,如果有任何问题或错误可以提出。

总的来说,这篇文章对于理解数据库级别的MD5加密有一定的帮助,适合数据库管理员、开发者等人群阅读。

数据库级别的MD5加密

前言

该内容为拓展内容,主要是补充关于数据库MD5加密的内容

1、什么是MD5?

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。

MD5不可逆!具体的值的MD5是一样的

MD5破解网站的原理,网站背后有个字典,输入MD5加密后的值,直到循环到该值,返回字典中对应的值。

2、SQLyog中的自动MD5加密

SQLyog使用后,关于密码栏会自动进行MD5加密 在这里插入图片描述

3、测试MD5加密

--测试MD5加密

create table 'testMD5'(
	`id` int(4) not null,
    `name` varchar(20) not null,
    `pwd` varchar(20) not null,
    primary key(`id`)
)engine=innodb default charset=utf8

--明文密码
insert into testMD5 values(1,'张三','123456'),(2,'李四','123456'),(3,'王五','123456')

--加密
update testMD5 set pwd=MD5(pwd) where id=1	--加密id为1的用户的秘密

update testMD5 set pwd=MD5(pwd) 	--加密全部密码

--插入的时候加密
insert into testMD5 values(4,'小吴',MD5('123456'))

--如何校验:将用户传递竟来的密码,进行MD5加密,然后对比加密后的值
select * from testMD5 where `name` = '小吴' and pwd=MD5('123456')

后话

关于数据库级别的MD5加密拓展内容就这么多,供小伙伴学习和参考。若有任何问题或错误,可以在下方评论区留言!