数据加密-mysql

想要实现数据加密可以在mysql数据库表实现数据加密,来确保数据安全。下面就是加密算法AES_ENCRYPT,其他加密算法类似。

1 创建一张临时表test_table

sql 复制代码
CREATE TABLE `test_table` (
  `name` varchar(20) DEFAULT NULL,
  `id` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

2 在里面插入2条数据

sql 复制代码
insert into  test_table VALUES('张三',100);
insert into  test_table VALUES('李四',200);

3 查看数据

sql 复制代码
select * from test_table;

4 对数据加密

使用这个AES_ENCRYPT加密规则对数据表name,id进行加密

AES_ENCRYPT(str,key_str) -- str 用于加密的字符串,key_str 密钥字符串

sql 复制代码
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 加密后的数据

很明显

sql 复制代码
select * from test_table3;

6 对加密数据进行解密

AES_DECRYPT(str,key_str) -- str 用于解密的字符串,key_str 密钥字符串

sql 复制代码
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,在我们密钥写错时数据是空的。也可以利用这一点来验证我们的数据是否解密成功。

在实际应用中还有很多加密算法可以使用,具体要看需求者对自己的数据安全是如何考量的。个人觉得一般的加密算法足够使用了。

相关推荐
m0_4665252910 分钟前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
爱学习的阿磊1 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
枷锁—sha1 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
惜分飞1 小时前
ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理--惜分飞
数据库·oracle
chian-ocean1 小时前
CANN 生态进阶:利用 `profiling-tools` 优化模型性能
数据库·mysql
m0_550024631 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
AC赳赳老秦1 小时前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
啦啦啦_99991 小时前
Redis-2-queryFormat()方法
数据库·redis·缓存
玄同7652 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码2 小时前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql