数据库数据加密解密

阿宝洁猪 2019-02-21 10:19:24

现在需求是这样,假如一个工资表,里面存放公司员工的工资,如果存明文的话,那么谁有数据库权限就能直接看到表里面的数据。
如果有运维还好,开发只需要写加密算法,秘钥写配置文件中由运维来设置;这样开发就不知道秘钥,所以就算连接到数据库,也无法解密;而运维只知道秘钥,不知道加密算法(暂不考虑运维会写代码和反编译代码来看),光看数据库看到的也是加密内容,这样开发和运维谁都无法解密。
现在情况是,公司没有运维,发布都是开发来发布,那么开发肯定就知道秘钥了;
不知道应该怎么设计了,有没有大佬给点思路。
...全文
725 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
兽拳 2021-07-09
  • 打赏
  • 举报
回复

非对称加密结合对称加密简单设计一下就好了

小龙在线 2019-03-05
  • 打赏
  • 举报
回复
这个架构设计有些问题吧,如果别人都已经能直接看到数据库中的数据了,那么系统安全就不仅仅是数据被偷看的问题了

比如,就算你加密了,把数据库中所有工资都改成某一个加密后的值总是可以的吧,像这样恶意篡改数据、甚至删数据、删库……等等各种危机,后果不堪设想啊
ZTzhubajie 2019-03-04
  • 打赏
  • 举报
回复
单从楼主的需求来说,需要一个对称加密算法. 但个人觉得这是个伪需求啊,只是个数字,应该从权限层面控制才是.
阿宝洁猪 2019-03-04
  • 打赏
  • 举报
回复
[quote=引用 5 楼 冰与火IAF 的回复:]
这个比较简单,根本不需要加密,你只需要将敏感的数据在保存到数据前转化成long型,这样即使是运维看到了,他也不知道这是什么意思,在向我输出的时候,再把long类型转化成真实的数据输出即可,这样如果数据量比较大的话,后台的效率还是很高的,之前做过类似的需求,就是加密一些敏感数据,防止运维之类的技术人员接触真实数据,这里贴一源码。
double a=11.2d;
System.out.println("转化前:"+a);
long temp=Double.doubleToLongBits(a);
System.out.println("转化后:"+temp);
Double b=Double.longBitsToDouble(temp);
System.out.println("还原:"+b);

你这个只能对double类型啊,我需要的是字符串
阿宝洁猪 2019-03-04
  • 打赏
  • 举报
回复
权限层面需要控制是必须的,但是公司也说了不能让开发和运维的人看到真实数据,因为工资信息是保密的,对称加密我也想到了,只是不知道秘钥放哪合适
凡夫贩夫 2019-03-02
  • 打赏
  • 举报
回复
这是运行结果。
凡夫贩夫 2019-03-02
  • 打赏
  • 举报
回复
这个比较简单,根本不需要加密,你只需要将敏感的数据在保存到数据前转化成long型,这样即使是运维看到了,他也不知道这是什么意思,在向我输出的时候,再把long类型转化成真实的数据输出即可,这样如果数据量比较大的话,后台的效率还是很高的,之前做过类似的需求,就是加密一些敏感数据,防止运维之类的技术人员接触真实数据,这里贴一源码。
double a=11.2d;
System.out.println("转化前:"+a);
long temp=Double.doubleToLongBits(a);
System.out.println("转化后:"+temp);
Double b=Double.longBitsToDouble(temp);
System.out.println("还原:"+b);

如果我的回答帮助到了你,我的公众号了解一下呗,谢谢。
Jackylin_lin 2019-03-01
  • 打赏
  • 举报
回复
工资信息开发只负责开发功能,正式数据都市人事那些财务人录入的,搞个权限控制不就好了,加密方向就不对,加密不是为了防止人看到,而是防止人盗用,大多数是权限控制你能不能看到工资而已
bcsflilong 2019-02-26
  • 打赏
  • 举报
回复
这么变态的需求,你考虑一下 在数据库级别将敏感表的权限分割出去
阿宝洁猪 2019-02-26
  • 打赏
  • 举报
回复
再顶一下~~~~~~~~~~怎么就没人呢
阿宝洁猪 2019-02-22
  • 打赏
  • 举报
回复
没人顶一下。。。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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