2017-04-04 33 views
-8
使用AES在Android和解密

我已經成功地加密的口令字符串中的Android,並將其發送到它存儲在數據庫中,現在爲了實現服務器「忘記密碼」,我們需要解密一樣「加密密碼「在Java中。加密在Java中

使用這個庫的加密/解密在安卓 com.scottyab:aescrypt:0.0.1

任何幫助表示讚賞。 在此先感謝。

+2

相反解密現有的密碼,它的更好的你做下面的事情之一:1.生成新的密碼,並將其發送給用戶WHA應該在登錄改變這一點。 2.提供一個界面給用戶輸入新密碼,加密這個並將其替換到你的數據庫中。 –

+1

更好_hash_密碼,不加密它們。 – GriffeyDog

+1

加密密碼對於安全來說真的很糟糕,如果你花幾個小時分析apk,你可以找到加密密鑰 –

回答

2

你這樣做是錯誤的(不安全)。

  1. 不要在客戶端上加密的密碼,以純文本與POST請求將它們發送到服務器通過HTTPS。

  2. 不要加密服務器上的密碼,請使用密碼安全哈希方法(請參閱我的評論),其中包含salt和迭代,以便哈希時間爲〜100ms。您將無法訪問原始密碼,這很好,因爲攻擊者也不會。是的,會有攻擊者,他們將獲得管理員訪問權,並對其進行計劃。

  3. 對於密碼重置發送時間限制重置令牌用戶創建一個新的密碼才能使用。

注意:請在服務器上使用雙因素身份驗證,並嚴格限制有權訪問的人數。