【MySQL】关于MD5加密
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加密拓展内容就这么多,供小伙伴学习和参考。若有任何问题或错误,可以在下方评论区留言!