为什么Java中的密码优先使用 char[] 而不是String?

可以看下壁虎的回答:https://www.zhihu.com/question/36734157

String是常量(即创建之后就无法更改),会保存到常量池中,如果有其他进程可以dump这个进程的内存,那么密码就会随着常量池被dump出去从而泄露,而char[]可以写入其他的信息从而改变,即是被dump了也会减少泄露密码的风险。

猜你喜欢

转载自www.cnblogs.com/luojiabao/p/11049933.html