大家是怎么解决手机号、身份证号这类数据的加密存储

问题描述#

大家是怎么解决手机号、身份证号这类数据的加密存储

为此你搜索到了哪些方案及不适用的原因#

目前知道用 laravel 的加密,但 key 依然是明文

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 27
nff93

有的系统密码都是明文,手机号和身份证加密干啥 :wink:

1个月前 评论
臭鼬 (楼主) 1个月前

简单点处理,加密 openssl_encrypt('身份证', 'AES-128-ECB', '密码'),解密 openssl_decrypt('加密串','AES-128-ECB', '密码')

1个月前 评论
nff93 1个月前
臭鼬 (楼主) 1个月前
MArtian 1个月前
臭鼬 (楼主) 1个月前

专门搞个加解密服务

1个月前 评论

加密了怎么检索

1个月前 评论
臭鼬 (楼主) 1个月前
中文 1个月前

明文吧,显示的时候加星号

1个月前 评论
唐章明

ORM 加密转换就够了,你担心的是服务器被黑,key 泄露,加密就没用了,但这其实属于不可抗力,腾讯也没法保证自己不被脱库。

条件允许的情况下,数据库和程序不要放一台机器上,mysql 限定业务服务器和内网 IP 连接,这样被脱库了也没法拿到真实数据,服务器被黑,只有 key 没有数据也没用,这就够了。

你非要去纠结 key 的安全,就只有像征信数据一样,每天备份转移到不联网的机器磁盘上,需要查询的时候再去读取出来,这显然对普通业务来说不现实,属于钻牛角尖。

加密的最终作用是保护用户隐私,一般加密真实姓名身份证号码就够了,手机号一般不做加密,除非是社交网站,避免被黑的情况下黑客找到用户和手机号的对应关系,非社交类网站,加密手机号除了竞争对手拿来发短信拉客户,其他的用途有限。

1个月前 评论
emo猪 1个月前
臭鼬 (楼主) 1个月前

我们是直接 rsa 加密就行了,如果担心网站被攻击泄露,这个是不可避免的,或者你的数据是不需要明文的,不需要明文展示或者,是只需要比对的话,直接上不可逆的那种加密就行了

1个月前 评论
DogLoML

可以调第三方的加密平台

1个月前 评论
_jue

只能存在代码里面,按理说有国家要求的就是等保?那你的服务器各种应该很安全了,服务器都被攻击了,有的是办法弄出那些明文

1个月前 评论

用户端生出个私钥,私钥加密了再发给服务器,当然,用户要是自己把私钥弄丢了,那就凉凉了,总的来说,加密都是相对的

1个月前 评论
  • 配置中心生成业务应用专属秘钥
  • 监听配置中心动态获取秘钥
  • 业务应用引入加密 / 解密 sdk
  • 仅密文保存在数据库
  • 业务日志也需要作脱敏处理
1个月前 评论
臭鼬 (楼主) 1个月前
Tangqy 1个月前

看了这么多回复,那你这属于钻牛角尖了,不管如何加密,最终都是要解密的,只要存在解密,服务器被黑那就是裸奔,就好像腾讯视频 vip 用户,只要是视频输出到客户端浏览器,有的是办法下载下来,加密不是为了 100% 安全,是为了提高破解难度,服务器都被攻陷了,还讨论啥~

1个月前 评论

加密咯,再脱敏,不过这些信息无所谓吧,普通打工人这些数据早就满天飞了

1个月前 评论

看了上面的描述,你这些加密的前提是服务器不被黑。不然普通加密就够了,不知道密钥解密都不容易,直接选择一种效率高的。但是有搜索(非等)需求的字段没办法加密。

1个月前 评论
vacker

存储的时候公钥加密存数据库,私钥你自己离线单机掌握,即使服务被攻破了也无法解密😁

1个月前 评论