【发布时间】:2011-10-18 16:08:52
【问题描述】:
所以,因为字符串是不可变的,所以我们使用 char[] 而不是 String 来存储密码,这样我们就可以在完成后擦除字符。在这种情况下,StringBuilder(或 StringBuffer)是否与 char[] 一样安全,因为可以将密码值更改为“”?
【问题讨论】:
标签: java secure-coding
所以,因为字符串是不可变的,所以我们使用 char[] 而不是 String 来存储密码,这样我们就可以在完成后擦除字符。在这种情况下,StringBuilder(或 StringBuffer)是否与 char[] 一样安全,因为可以将密码值更改为“”?
【问题讨论】:
标签: java secure-coding
不,因为当您溢出 StringBuilder 使用的 char[] 时,它会被更大的数组替换,但原始数组(其中包含您的部分密码)会保留在内存中,直到它被垃圾回收.
【讨论】: