簡體   English   中英

加密首選項/屬性文件中的密碼 - Java

[英]Encrypt a password in a preferences/properties file - Java

我不是加密技術專家,破解密碼和安全性的專家。 我需要在首選項中存儲我將用於將客戶端連接到SQL服務器的SQL服務器的密碼和用戶名。

我一直在讀書,大部分時間都在這里,但大多數都超過2年,我們都知道安全世界正在快速變化。

根據我的閱讀,我得出結論,大多數人建議使用SHA-XXX散列密碼和/或建議使用jasypt加密和解密密碼

所以我的問題是在首選項文件中保護密碼的最安全方法是什么? 我可以只使用帶鹽的SHA-512並將鹽保存在首選項文件中嗎? 這樣安全嗎?

您似乎想要稍后解密並使用該passwort對服務器進行身份驗證。 這意味着您無法對其進行哈希處理 - 如果您希望用戶輸入密碼然后檢查密碼是否正確,則哈希很好,但您無法解密哈希密碼以將其呈現給服務器。

由於您的應用程序需要能夠解密密碼才能使用它,因此獲得訪問配置文件的攻擊者將能夠以與應用程序相同的方式解密密碼。 無論你做什么,你都只能讓密碼變得更煩人(即模糊不清/安全隱患)。

您可以采取的步驟(在大括號中采用該方法的程序名稱):

  • 以某種專有方式加密它。 它不需要是安全的,因為無論你做什么,它都不會 如果有人不知道你是怎么做的,他們可以編寫一個顯示密碼的工具。 你無能為力。 你只是在防止隨意閱讀,即便是簡單的XOR就足夠了。 米蘭達
  • 使用一些正確的加密加密它(再次,不要過於擔心它,你只是使用它,因為它比自己更容易)使用靜態密鑰(任何獲得密鑰的人都能解密它) 。
  • 使用適當的加密和隨機密鑰對其進行加密,並將密鑰存儲在密碼旁邊。 火狐
  • 使用從一些跨系統更改的數據(例如Windows上的用戶或系統SID)派生的密鑰使用一些適當的加密對其進行加密。 這樣做的好處是,如果有人竊取了配置(沒有別的),后來又試圖解密它,他就不能。 這樣做的缺點是將配置文件復制到另一個安裝會破壞密碼,因此您需要處理該情況。
  • 不加密它以避免給出錯誤的安全性。 Pidgin
  • 將密碼存儲在某種操作系統提供的錢包/憑證管理器中(Windows憑據管理器,Gnome密鑰環,KDE錢包)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM