数据库(DataBase)-数据库级别MD5加密

3.数据库级别MD5加密(拓展项)

什么是MD5?

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

主要增加算法复杂度和不可逆性。

注意:MD5不可逆!!!简易的,具体的值,它的MD5值是一样的。

MD5破解网站的原理:在网站背后有一个字典,里面存有大量MD5加密后的值,用于对比查询MD5加密前的值。

1.0创建数据库。

use school;

create table `testmd5`(
	`id` int(4) not null,
	`name` varchar(17) not null,
	`pwd` varchar(37) not null,
	primary key(`id`)
)engine = innodb default charset = utf8;

2.0插入明文密码。

-- 明文密码
insert into testmd5 values 
(1,'京','123456'),
(2,'东京','456789'),
(3,'西京','789123');

select * from testmd5;

在这里插入图片描述

3.0进行MD5加密

-- 对id=1的数据密码进行加密
update testmd5 set pwd = md5(pwd) where id = 1;

在这里插入图片描述

-- 全部加密。
update testmd5 set pwd = md5(pwd);

在这里插入图片描述

4.0 检验MD5加密。

-- 插入数据时加密
insert into testmd5 values (4,'吴南京','654321');

-- 如何校验: 将用户传递进来的密码,进行md5加密,然后比对加密后的值与数据库存储的是否相同。
SELECT * from testmd5 WHERE name = ' 吴南京' AND pwd=MD5('654321');

参考文献

《【狂神说Java】MySQL最新教程通俗易懂》
2020.05.15

原创文章 18 获赞 19 访问量 451

猜你喜欢

转载自blog.csdn.net/weixin_44199123/article/details/106153222
今日推荐