较大数据量下,php+mysql如何实现关键字段的加密存储

再看我一眼 2016-09-22 09:17:01
数据量大约每表500w行 数据库大约100G

约20个相关表 其中的身份证字段领导要求加密存储

求解如何实现加密存储和保持现有web程序正常运行,现在的网站功能都是基于明身份证字段的
...全文
386 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
果酱很好吃 2016-09-22
  • 打赏
  • 举报
回复
若使用 AES_ENCRYPT 加密,字段类型要是 blob

DROP TABLE IF EXISTS `d`;
CREATE TABLE `d_copy` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `t1` char(20) NOT NULL,
  `t2` tinyblob NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into d(t1,t2) values('test',AES_ENCRYPT('500240190000001616','jam'));
select *,AES_DECRYPT(t2,'jam') card from d where t1='test'

select * from d where t2=AES_ENCRYPT('500240190000001616','jam')
xuzuning 2016-09-22
  • 打赏
  • 举报
回复
MySQL 本身提供有加解密函数 encode 和 decode aes_encrypt 和 aes_decrypt des_encrypt 和 des_decrypt 你可以根据需要选用 直接使用sql指令处理,很快的

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧