gpt4 book ai didi

java - 如何安全地存储加密密码

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:23 26 4
gpt4 key购买 nike

我正在开发 Java RCP 应用程序。用户需要使用他的智能卡验证自己的身份才能访问该应用程序。在里面,他可以打开/保存需要加密存储的文件。

目前,我使用基于密码的 AES 加密和硬编码密码。这显然不安全,所以我需要一种不同的方法来加密/解密文件。

引起这个问题的原因是需要满足一些要求:

  • 无保证的网络连接(必须在离线模式下可用)
  • 多个用户必须有权访问文件(因此没有公钥/私钥加密)
  • 不应该有一个“主”键用于所有文件

编辑:我不需要非常高的安全级别。攻击者获取 key 的难度应该比打开分布式 JAR 文件并获取纯文本 key 要难一些。

如有任何提示,我们将不胜感激。

最佳答案

为每个文件创建一个新 key 。使用该 key 加密文件(使用 AES)。

然后,对于允许读取文件的每个用户,使用他们的公钥(对应于他们智能卡上的私钥的公钥)加密新 key 。将这些加密 key 与文件一起存储。

当用户想要读取文件时,软件会使用他的智能卡来恢复用于该文件的内容加密 key 。

文件格式可以使用 PKCS #7 的加密消息语法或 OpenPGP。

关于java - 如何安全地存储加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com