什么是MD5
MD5信息摘要算法,一种被广泛使用的密码散列函数,主要增强算法的复杂度,且该算法不可逆;
常用于数据库数据加密,例如用户密码等等;
常见的破译网站数据库密码原理也就是其背后有着一个强大的 “ 密码字典 ” , 利用字典里已有的MD5加密后的值进行依次对比破译。
数据库级别的加密
在各种网站里边,往往须对一些信息进行加密,换言之即在数据库中对数据进行加密;
测试
- 创建一个简单的sql数据表:
-
插入一条记录:
INSERT INTO `user` VALUES (1,'张三','123456') ;
-
对密码进行加密:
UPDATE `user` SET pwd= MD5(pwd) WHERE id=1 ;
由上可见,对数据进行加密后会生成一段较长的文本,使其得不到原有数据的值,这样就使得数据得到了有效的保护,且这个数据是可以进行二次加密的,即对已经加密过的数据进行再一次加密;
当然对数据进行加密也可直接在插入数据的时候进行加密:
-
插入数据加密:
INSERT INTO `user` VALUES (2,'李四',MD5('123456')) ;
校验
在网站进行登陆验证,校验密码是否正确的时候,只需将用户传进去的值进行MD5加密,然后再进行校验即可;
-
sql 验证:
SELECT * FROM `user` WHERE NAME='张三' AND pwd=MD5('123456') ;