问答 / 1031 / 30 / 创建于 7个月前
大家是怎么解决手机号、身份证号这类数据的加密存储
目前知道用laravel的加密,但key依然是明文
有的系统密码都是明文,手机号和身份证加密干啥 :wink:
没加密过这两样
简单点处理,加密openssl_encrypt('身份证', 'AES-128-ECB', '密码'),解密openssl_decrypt('加密串','AES-128-ECB', '密码')
openssl_encrypt('身份证', 'AES-128-ECB', '密码')
openssl_decrypt('加密串','AES-128-ECB', '密码')
专门搞个加解密服务
加密了怎么检索
明文吧,显示的时候加星号
ORM加密转换就够了,你担心的是服务器被黑,key泄露,加密就没用了,但这其实属于不可抗力,腾讯也没法保证自己不被脱库。
条件允许的情况下,数据库和程序不要放一台机器上,mysql限定业务服务器和内网IP连接,这样被脱库了也没法拿到真实数据,服务器被黑,只有key没有数据也没用,这就够了。
你非要去纠结key的安全,就只有像征信数据一样,每天备份转移到不联网的机器磁盘上,需要查询的时候再去读取出来,这显然对普通业务来说不现实,属于钻牛角尖。
加密的最终作用是保护用户隐私,一般加密真实姓名身份证号码就够了,手机号一般不做加密,除非是社交网站,避免被黑的情况下黑客找到用户和手机号的对应关系,非社交类网站,加密手机号除了竞争对手拿来发短信拉客户,其他的用途有限。
我们是直接rsa加密就行了,如果担心网站被攻击泄露,这个是不可避免的,或者你的数据是不需要明文的,不需要明文展示或者,是只需要比对的话,直接上不可逆的那种加密就行了
可以调第三方的加密平台
只能存在代码里面,按理说有国家要求的就是等保?那你的服务器各种应该很安全了,服务器都被攻击了,有的是办法弄出那些明文
用户端生出个私钥,私钥加密了再发给服务器,当然,用户要是自己把私钥弄丢了,那就凉凉了,总的来说,加密都是相对的
看了这么多回复,那你这属于钻牛角尖了,不管如何加密,最终都是要解密的,只要存在解密,服务器被黑那就是裸奔,就好像腾讯视频vip用户,只要是视频输出到客户端浏览器,有的是办法下载下来,加密不是为了100%安全,是为了提高破解难度,服务器都被攻陷了,还讨论啥~
加密咯,再脱敏,不过这些信息无所谓吧,普通打工人这些数据早就满天飞了
看了上面的描述,你这些加密的前提是服务器不被黑。不然普通加密就够了,不知道密钥解密都不容易,直接选择一种效率高的。但是有搜索(非等)需求的字段没办法加密。
存储的时候公钥加密存数据库,私钥你自己离线单机掌握,即使服务被攻破了也无法解密😁
有一个成本可能比较高的办法:对php代码做混淆或者把加密key写到C扩展里,服务器上部署编译好的.so,不放源码,这个加密就不再是明文的了
我们后台身份证信息之类的根本没加密
加密可使用:国密 SM4加密后数据检索可参照:ningyu1.github.io/20201230/encrypt...
我要举报该,理由是:
有的系统密码都是明文,手机号和身份证加密干啥 :wink:
没加密过这两样
简单点处理,加密
openssl_encrypt('身份证', 'AES-128-ECB', '密码'),解密openssl_decrypt('加密串','AES-128-ECB', '密码')专门搞个加解密服务
加密了怎么检索
明文吧,显示的时候加星号
ORM加密转换就够了,你担心的是服务器被黑,key泄露,加密就没用了,但这其实属于不可抗力,腾讯也没法保证自己不被脱库。
条件允许的情况下,数据库和程序不要放一台机器上,mysql限定业务服务器和内网IP连接,这样被脱库了也没法拿到真实数据,服务器被黑,只有key没有数据也没用,这就够了。
你非要去纠结key的安全,就只有像征信数据一样,每天备份转移到不联网的机器磁盘上,需要查询的时候再去读取出来,这显然对普通业务来说不现实,属于钻牛角尖。
加密的最终作用是保护用户隐私,一般加密真实姓名身份证号码就够了,手机号一般不做加密,除非是社交网站,避免被黑的情况下黑客找到用户和手机号的对应关系,非社交类网站,加密手机号除了竞争对手拿来发短信拉客户,其他的用途有限。
我们是直接rsa加密就行了,如果担心网站被攻击泄露,这个是不可避免的,或者你的数据是不需要明文的,不需要明文展示或者,是只需要比对的话,直接上不可逆的那种加密就行了
可以调第三方的加密平台
只能存在代码里面,按理说有国家要求的就是等保?那你的服务器各种应该很安全了,服务器都被攻击了,有的是办法弄出那些明文
用户端生出个私钥,私钥加密了再发给服务器,当然,用户要是自己把私钥弄丢了,那就凉凉了,总的来说,加密都是相对的
看了这么多回复,那你这属于钻牛角尖了,不管如何加密,最终都是要解密的,只要存在解密,服务器被黑那就是裸奔,就好像腾讯视频vip用户,只要是视频输出到客户端浏览器,有的是办法下载下来,加密不是为了100%安全,是为了提高破解难度,服务器都被攻陷了,还讨论啥~
加密咯,再脱敏,不过这些信息无所谓吧,普通打工人这些数据早就满天飞了
看了上面的描述,你这些加密的前提是服务器不被黑。不然普通加密就够了,不知道密钥解密都不容易,直接选择一种效率高的。但是有搜索(非等)需求的字段没办法加密。
存储的时候公钥加密存数据库,私钥你自己离线单机掌握,即使服务被攻破了也无法解密😁
有一个成本可能比较高的办法:对php代码做混淆或者把加密key写到C扩展里,服务器上部署编译好的.so,不放源码,这个加密就不再是明文的了
我们后台身份证信息之类的根本没加密
加密可使用:国密 SM4
加密后数据检索可参照:ningyu1.github.io/20201230/encrypt...