2014-01-13 47 views

回答

1

注意BasicTextEncryptor已被棄用。它使用DES和MD5作爲密鑰生成密鑰。這些不應該用於新工作。 DES使用被認爲短的56位密鑰,即使今天使用DES,它通常以提供112或168位密鑰的3DES形式使用。

另一個問題是它需要大量的挖掘才能獲得BasicTextEncryptor所使用的所有信息和選項。

你最好的選擇是使用當前的密碼方法和方法,清楚地佈置使用的選項和方法,它們是:PBKDF2和AES。

PBKDF2是一種從密碼創建安全加密密鑰的方法。 PBKDF2代表「基於密碼的密鑰推導函數2」,您需要知道所用回合的數量。這是使用MD5的替代品。

AES代表「高級加密標準」,支持128位和256位密鑰。
你需要知道的兼容性的選項有:

  • 加密模式
  • IV(初始化向量)
  • 填充
  • 關鍵尺寸

兩個PBKDF2AES支持由iOS CommonCrypto提供。

+0

謝謝您的評論,這真的很有幫助。我不確定在這一點上,如果編輯android項目將是一個選項。如果事實證明我需要堅持使用DES和MD5做事的方式,你能否告訴我這是否是一種難以或甚至可能爲iOS編寫的東西? – Tiddly

+0

當然,你可以做到這一點,但正如我指出的,你將不得不弄清楚BasicTextEncryptor正在做什麼。只需通過java庫進行挖掘。 BasicTextEncryptor只是一個圍繞基本密碼操作的包裝。大多數這些包裝並不是爲互操作性而設計的,如果它們是明確說明底層操作,參數和選項的話。至於改變,那麼真正的問題是:你是想提供真正的安全還是隻是外觀。 – zaph

+0

謝謝。如果這取決於我,我會毫無疑問地選擇更安全的選項。不幸的是,我所能做的就是提出我的建議,並看看它是如何發展的。我也不太瞭解加密或密碼學,所以我可能不會很好地解決這個問題。再次感謝你提供的建議。 – Tiddly

相關問題