mysql数据库对数据的加密于解密


0311lc.com说:

首先我们来认识一下blob类型的数据

BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。 MySQL的四种BLOB类型 类型 大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K Medium。

  1. 创建测试加密表数据

wKiom1myUtzQgoWRAAAnnw-1WUE380.png

2.数据的单项加密测试

wKiom1myUwayg9NeAAARVHsdiLQ428.png-wh_50

你也可以使用这个函数ENCRYPT

SQL
INSERT pwn VALUES("Lucy",ENCRYPT("tttt","abcd"));

使用这个函数查询出来的结果解释NULL,如图

这里写图片描述

我们还可以使用这个函数:

INSERT pwn VALUES("Jack",AES_ENCRYPT("jack","ccdd"));

这里写图片描述

还可以使用这个函数AES_DECRYPT(crypt_str,key_str)

SQL:INSERT pwn VALUES("Pual",AES_DECRYPT("jack","ccdd"));

3.双向加密

我们向其中插入一条数据:

INSERT INTO pwn (NAME, VALUE)VALUES
    (        'worker',
        ENCODE('pual', 'abcd')
    );1

按普通方式查看记录:
这里写图片描述

我们要怎么操作才能看到我们刚才存进去的value值呢?

 SELECT name, DECODE(VALUE, 'abcd') as value FROM pwn WHERE name='worker';

结果:

这里写图片描述

这就是所谓的双向加密,既可以对数据进行加密,也可以对数据进行解密


发表评论

电子邮件地址不会被公开。 必填项已用*标注