密码的char []或StringBuilder?

Mic*_*ael 4 java secure-coding

因此,因为字符串是不可变的,我们使用char []而不是String来存储密码,这样我们就可以在完成它时删除字符.在这种情况下,StringBuilder(或StringBuffer)是否像char []一样安全,因为可以将密码的值更改为""?

fin*_*nnw 6

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