5

所以,因为字符串是不可变的,所以我们使用 char[] 而不是 String 来存储密码,这样我们就可以在完成后擦除字符。在这种情况下,StringBuilder(或 StringBuffer)是否与 char[] 一样安全,因为可以将密码值更改为“”?

4

1 回答 1

7

不,因为当您溢出char[]使用的 时StringBuilder,它会被一个更大的数组替换,但原始数组(其中包含您的部分密码)保留在内存中,直到它被垃圾收集。

于 2011-10-18T16:26:22.903 回答