-- 测试MD5 加密
CREATE TABLE `testmd5`(
`id` INT(4) NOT NULL,
`name`VARCHAR(20) NOT NULL,
`pwd` VARCHAR(50) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE = INNODB DEFAULT CHARSET=utf8

-- 明文密码
INSERT INTO `testmd5`VALUES (1,'huang','123456'),(2,'guang','123456'),(3,'lin','123456')
 -- 加密
 UPDATE testmd5 SET pwd=MD5(pwd) WHERE id=1 -- 只加密id=1
 UPDATE testmd5 SET pwd=MD5(pwd)
 
 -- 插入的时候加密(一般)
 INSERT INTO testmd5 VALUES(5,'jiami',MD5('123456'))

同一个密码加密一次后是一样的,可重复加密,但第二次只和第二次一样,id=1是加密两次,id=2,3,5是第一次的,id=4是没加密的

 -- 如何矫正:将用户传递进来的密码,进行MD5加密,然后比对加密后的值
 SELECT * FROM testmd5 WHERE `name`='lin'AND pwd = MD5('123456')

网上的破解MD5加密后的软件就是这个原理,它有一个库区比对,但密码一但复杂就没用了,很拉胯的软件

posted on 2022-05-07 02:01  阿霖找BUG  阅读(33)  评论(0)    收藏  举报