数据库级别的MD5加密
什么是MD5?
信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致
发展历程
MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。
MD5算法特点:普遍、稳定、快速
MD5破解网站原理:背后有一个字典,键是MD5加密后的值,值是MD5加密前的值
测试代码
-- 测试MD5加密
create table `testMD5`(
`id` int(4) not null,
`name` varchar(10) not null,
`pwd` varchar(50) not null,
primary key(`id`)
)engine = innodb default charset = utf8;
-- 明文密码
insert into testMD5 values(1,'张三',123456);
-- 对已经插入的密码进行加密
update testmd5 set `pwd` = md5(`pwd`) where id = 1;
-- 在插入数据的时候对密码进行加密
insert into testmd5 values(2,'李四',md5('123456'));
-- 系统如何校验密码 将用户传递进来的密码进行md5加密 比对加密后的密码是否一致
select * from testmd5 where `name`='李四' and `pwd` = md5('123456');