1. 程式人生 > >使用字符數組保存密碼, 比使用String保存密碼更好

使用字符數組保存密碼, 比使用String保存密碼更好

字符數 www 應該 使用 地方 訪問內存 時間 方法 tps

在Java 中, 使用字符數組保存密碼 比使用String保存密碼更好.

兩點理由 :

  1. 很難從內存中清除.
    String 屬於不可變對象, 他會被放到串緩沖池中以方便重復使用,所以它就可能在內存中被保留很長時間.
    這時任何能夠訪問內存的人, 都可以很容易看到明文密碼
    當然, 根本就不應該使用明文密碼
  2. Java 提供 JPasswordField組件的getPassword()方法
    這是特意為密碼準備的, 不用嗎? 不要偷懶
  3. 在你不知道的時刻, 可能被泄露到其他地方
    比如日誌中. 2018年5月 twitter 數億用戶明文密碼泄露(參見這裏: 3.3億用戶密碼疑泄露,Twitter出現重大安全漏洞 ), 就是一個例子

使用字符數組保存密碼, 比使用String保存密碼更好