gpt4 book ai didi

java - Java 中的密码安全 - 将 char[] 转换为 String

转载 作者:行者123 更新时间:2023-11-29 04:32:41 24 4
gpt4 key购买 nike

我正在尝试为网站构建一个非官方 API。它将要求用户登录,然后使用标准的 Console.readPassword() 方法从控制台读取密码。现在,这给了我一个字符数组,但我必须使用 Apache 的 HttpClient 库中的 HttpPost 类通过 POST 请求发送密码。为此,需要一个字符串,但将密码转换为字符串会产生安全风险。我能做什么?

编辑:我知道如何将字符数组转换为字符串。问题在于字符串是不可变的,并且由于您不能在 Java 中显式删除对象,因此密码将留在内存中。

最佳答案

保安人员为您讲述精彩secure string语言中的概念,以防止堆检查。

我以前是相信这一点的,现在不是了。值得注意的是,.Net 等价物 SecureString 正在逐步淘汰——您只需要观看大约 10 分钟的 this。精彩的 youtube 视频,看看为什么。这个概念听起来很棒,直到您必须实际对数据做一些事情,然后很可能您无法再保证它的安全(就像您的情况一样——您需要使用 Apache 库)。此外,在许多平台上,加密字符串的 key 与字符串本身位于同一内存空间中,因此它确实比安全性更容易混淆。另见 Security Stack Exchange discussion .

底线:这是语言中固有的问题,您无能为力。

关于java - Java 中的密码安全 - 将 char[] 转换为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43174598/

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