MD5简介
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
MySQL MD5函数语法:
MD5(str)
MD5() 函数为字符串算出一个 MD5 128比特校验和。该值以32位十六进制数字的二进制字符串的形式返回,若参数为 NULL 则会返回 NULL。
实现数据加密
1.1 创建数据表
数据库test,在库中创建表db_member,如下所示:
CREATE TABLE `db_member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL COMMENT '姓名', `sex` int(11) DEFAULT '1' COMMENT '性别', `age` int(11) DEFAULT NULL COMMENT '年龄', `pwd` varchar(100) DEFAULT NULL COMMENT '密码', `add_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4
创建完成后,在表中添加几条记录。
1.2 数据加密
1.2.3 插入数据(带加密)
如果想要插入新的数据,语法为:
INSERT INTO `db_member` (NAME,sex,age,pwd) VALUES('zhangsan',1,100,MD5('123456'))
如图所示,插入了zhangsan这条数据:
1.2.4 批量(单独)加密
如果我们要对pwd这一列数据进行加密,语法是:
UPDATE `db_member` SET pwd = MD5(pwd)
执行以上命令,成功后查看表数据,可以看出,密码已经加密: