数据库存储的敏感信息是否需要加密存储?
資深大佬 : FreeEx 13
我做的一个开源项目其中存储了服务器的 IP 账号密码等信息,有用户反馈说这些信息明文存储在数据库不安全,希望进行加密存储,但是在进行查看等操作的时候还是需要进行解密的,密钥也需要写在配置文件里,加密操作是不是多此一举呢?
大佬有話說 (34)
我做的一个开源项目其中存储了服务器的 IP 账号密码等信息,有用户反馈说这些信息明文存储在数据库不安全,希望进行加密存储,但是在进行查看等操作的时候还是需要进行解密的,密钥也需要写在配置文件里,加密操作是不是多此一举呢?
电商强烈建议可逆的序列化存储用户姓名、手机、地址这些敏感数据的密文,就简单的 hash 都好,被脱裤子了人家只会觉得你这家公司业界良心很厚道。
但是手机号等这类信息是需要可逆的,也就是加密之后还得解密,落地存储到数据库的时候到底要不要对此类信息进行加密,我记得三级等保是需要的,但是加密的一个后果就是无法支持区间条件查询,比如一个需求是查询所有以 188 开头手机号的所有记录,加密以后就无法进行范围匹配查询了,当然了,也可以有其他的辅助性的索引支撑,但是复杂性也会随之提高。
我又要唠叨一下了,没有绝对的安全,只能尽量保证在泄露数据之后,使泄露出去的那一部分无法单独得出有意义的结果,比如只是数据库被脱库了,但是没有应用代码的逻辑,即使拿到那一部分数据也是没有意义的。当然了,如果你的应用代码和数据库全被扒了,那么再好的加密措施也会变得没有意义,就看对方是否愿意花时间在这上面研究了。