什么是MD5?
MD5主要增强算法复杂度和不可逆性。MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域。
MD5原理
MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
测试MD5加密
a)建表
Create table `testmd5`(
`id` int(1) not null,
`pwd` varchar(50) not null,
Primary key(`id`)
)engine=innodb default charset=utf8
b)插入账号密码:
Insert into testmd5
values(1,'123456'),
values(2,'123456'),
values(3,'12345678')
c)加密:使用MD5()函数
Update testmd5 set pwd=MD5(pwd) -- 加密全部的密码
d)插入时加密:
INSERT INTO testmd5 VALUES(6,MD5('123456'))
e)校验
只需将用户传递进来的密码,进行MD5加密,然后比对加密后的值
如:SELECT * FROM testmd5 WHERE pwd=MD5('12345678')