栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么java密码比字符串更喜欢使用char []?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么java密码比字符串更喜欢使用char []?

字符串是不可变的。这意味着一旦创建了String,如果另一个进程可以转储内存,则除了反射之外,你将无法清除数据,然后再进行垃圾回收。

使用数组,你可以在使用完数据后显式擦除数据。你可以用任何你喜欢的东西覆盖阵列,并且即使在垃圾回收之前,密码也不会出现在系统中的任何位置。

因此,是的,这是一个安全性问题-但是即使使用,也

char[]
只会减少攻击者的机会窗口,并且仅用于这种特定类型的攻击。

如评论中所述,垃圾回收器移动的数组可能会将数据的零散副本保留在内存中。我相信这是特定于实现的-垃圾收集器可能会清除所有内存,以免发生这种情况。即使是这样,仍然会有一段时间

char[]
包含实际角色作为攻击窗口。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370430.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号