本文介绍: 数据安全 数据加密 数据治理
想要实现数据加密可以在mysql数据库表实现数据加密,来确保数据安全。下面就是加密算法AES_ENCRYPT,其他加密算法类似。
1 创建一张临时表test_table
CREATE TABLE `test_table` (
`name` varchar(20) DEFAULT NULL,
`id` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
2 在里面插入2条数据
insert into test_table VALUES('张三',100);
insert into test_table VALUES('李四',200);
3 查看数据
select * from test_table;
4 对数据加密
使用这个AES_ENCRYPT加密规则对数据表name,id进行加密
AES_ENCRYPT(str,key_str) – str 用于加密的字符串,key_str 密钥字符串
create table test_table3 as
select name,id,AES_ENCRYPT(name,'MySQL') as name_aes,AES_ENCRYPT(name,123) as name_123,AES_ENCRYPT(id,123) name_id from test_table;
5 加密后的数据
很明显
select * from test_table3;
6 对加密数据进行解密
AES_DECRYPT(str,key_str) – str 用于解密的字符串,key_str 密钥字符串
select
AES_DECRYPT(name_aes,'MySQL')
,AES_DECRYPT(name_123,123)
,AES_DECRYPT(name_id,123)
,AES_DECRYPT(name_id,124)
from test_table3;
很明显,在前三个字段均是正确的密钥,在第四个字段我特意把密钥写成124,查出的数据是NULL,在我们密钥写错时数据是空的。也可以利用这一点来验证我们的数据是否解密成功。
在实际应用中还有很多加密算法可以使用,具体要看需求者对自己的数据安全是如何考量的。个人觉得一般的加密算法足够使用了。
原文地址:https://blog.csdn.net/sjfx123456/article/details/135667492
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_58908.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。