1

我正在构建一个基本的 web 应用程序,它接受用户输入并返回一个加密的密码。

问题是,目前我使用的 SecretKey 存储在 Java 类的 src 中。对我来说,这似乎是一种冒险的做法,所以我正试图找到一种安全存储我的 SecretKey 的方法。

做了一些研究,我找到了 Java KeyStore 类,但我不完全确定这是否是我需要的。另外,如果这是我需要的,你们能否指出如何实现它的方向,更重要的是,它是如何工作的?

谢谢

编辑:通过大量思考/阅读,似乎真的没有一个很好的解决方案,只要你的主服务器是安全的,真的不需要解决方案,我的服务器是安全的,所以这不是问题。

谢谢大家的回复!:)

4

2 回答 2

1

密码应该使用单向哈希函数存储,这样您的系统就可以避免这个问题。见https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet

于 2013-02-18T17:30:18.047 回答
0

如果您正在谈论您的加密密钥,那么没有安全的方法可以将该密钥安全地存储在 JavaScript 中。我猜您所说的存储是浏览器本地存储,它只不过是浏览器端的持久性 cookie。使用 chrome WebInspector 或 Firefox Firebug 的每个人都可以轻松地阅读该商店以了解他正在访问的任何页面。此外,您必须通过 JavaScript 将其保存在此商店中,并且每个人都可以在浏览器中阅读您的源代码,这更加明显。

安全地做这些事情的唯一可能性是服务器端,例如 PHP。如果您想要交互行为的感觉,您可以在客户端使用 AJAX 与后端交互。

编辑:啊,当您在后端谈论Java时,我想我误会了您?如果是,我认为当您在编译的源代码中硬编码密钥时没有问题???如果您想将它存储在其他地方并且害怕有人使用它,您可以在将其用于密钥生成之前在您的应用程序中对其进行加盐和散列(当然,加盐是硬编码的)?

于 2013-02-18T17:37:10.713 回答