1

我的应用程序需要在数据库中存储银行详细信息和信用卡号。我们支持多种数据库变体,我们尽量避免任何可能无法轻松移植到另一个数据库的特定功能。

因此,我正在寻找一种简单但相当安全的方法来加密某些字段,例如卡号和银行帐号。应用程序需要这些才能向外部支付系统提交请求,但相关数据库表的随意选择 * 应该返回“垃圾”,因此有人不能用几千个信用卡号逃跑。

只有我们的应用程序需要知道加密系统,这些信息不需要以(这种)加密形式传输到任何其他系统。

有没有人对一种简单而安全的方法有任何建议?

我发现以下问题/答案看起来有用且全面,但我很难弄清楚我是否需​​要所有这些领域。

我还发现这篇文章似乎暗示每次插入/更新记录并与加密值一起存储时,应该随机生成 IV。如果安全,这似乎更直接,那么 SO 问题中建议的方法,但我无法协调如何与 Java API 协调。

任何建议表示赞赏。(我正在使用 Java 6)

4

2 回答 2

1

可以参考PCI 安全标准。卡行业有很多关于敏感卡数据的规定。

于 2011-01-10T14:02:30.747 回答
1

Java 带有一些加密/解密库,您可以从http://download.oracle.com/javase/6/docs/technotes/guides/security/index.html开始研究它们,特别是查看 JCE(现在JCA 的扩展)信息。

这个 SO 问题也非常相似,并包含许多有用的建议:https ://stackoverflow.com/questions/4319496/how-to-encrypt-and-decrypt-data-in-java

于 2011-01-10T14:46:40.823 回答