项目里的个人信息一般如何保存呢?

做了一个考试系统需要报名,报名有姓名、身份证、电话
甲方提到说要把个人信息加密,如果脱了库至少看到不是明文信息。
我想的是拿一个20位的key,然后和对应的字段来一个md5。
但如果这样,我如果要查询某个人的信息,这又怎么处理呢?
比如,姓名张三,我给md5后那肯定乱得不行,那如何我要搜索姓张的人,那就不好操作了!

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 19

用 md5 加密? md5 怎么加密?md5 只是混淆字符串

数据加密肯定是要用 RSA 这种啊

1年前 评论
cnguu

数据库本身的加密函数

比如 mysqlAES_DECRYPT AES_ENCRYPT

1年前 评论
Mutoulee

方向不一定是加密,也有可能是脱敏

1年前 评论
donggan 1年前

做成可逆的加密,如 base64,然后 laravel 中用修改器

1年前 评论

数据库所有的数据加密会影响服务器性能,而且像你最后说的,不方便查询。但是要做的话,也能做,就是用对称加密来对数据进行处理后落库,需要查数据的时候,再解密出原始值来。 最好的办法是说服甲方不做这个,如果怕脱库,那就不怕脱代码吗,难道代码也要加密?

1年前 评论
如此甚好 1年前

laravel 自带加密解密加密解密《Laravel 9 中文文档》

然后再模型里面写修改器进行加密 属性修改器《Laravel 9 中文文档》

写访问器进行解密属性修改器《Laravel 9 中文文档》

至于搜索可以对搜索的字段进行冗余加密,好比name_md5,搜索的时候md5(‘老张’)

1年前 评论
slowlyo 1年前
JerryBool 1年前
臭鼬 (作者) 1年前
msmax (楼主) 1年前

对称加密,检索的话只做精确检索,不做模糊检索

1年前 评论

可以尝试一下这个,可以对数据加密也可以对加密的字符串进行解密 openssl_encrypt openssl_decrypt

1年前 评论

数据库加密,如果需要查询的直接同步一份到ES里非加密的如何 :grin:,只能想到这

1年前 评论

模仿查询只允许一部分,比如手机号,后四位保存起来,身份证后六位,很多都是这样的

1年前 评论

要可逆的,只要加密的密钥不泄漏,数据库泄漏了别人也无法拿到正确信息

1年前 评论

packagist.org/packages/elgibor-sol...

简单点的话,你就是安装这种composer数据库加解密的包

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!