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