小编Kau*_*lya的帖子

为什么不用DriverManager.getConnection(String url,String user,char []密码)?

我们知道优先选择char []而不是java.lang.String来存储密码.这是出于以下两个原因(正如我所读):

  1. char []是可变的,因此我们可以在使用后清除密码.
  2. 字符串文字转到不会将垃圾收集为其他对象的池,因此可能会出现在内存转储中.

但是java.sql.DriverManager没有符合上述最佳实践的getConnection(),因为它的password参数是String.

DriverManager.getConnection(String url,String user,String password)

我认为API应该有一个带有以下签名的重载方法:

DriverManager.getConnection(String url,String user,char [] password)

你怎么看待这件事?你有没有看到任何替代方法来克服这种退缩?

很想听听你的想法.

java security string char

11
推荐指数
1
解决办法
3816
查看次数

标签 统计

char ×1

java ×1

security ×1

string ×1