完全糊塗了我最初清理(谷歌,SO,兵)顯示如何進行加密和解密密碼的使用使用C#.NET提供的AES算法工作代碼。我懷疑這兩個職位AES算法在C#中 - 在現在
http://yossi-yakubov.blogspot.in/2010/07/aes-encryption-using-c-short-way.html
http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx
在#出現1他表示一切都可能使用CryptoTransform
但MSDN
頁樣本顯示用做複雜的流。
我需要這樣做嗎?
我有一個比另一個有什麼好處?
有人能澄清這是最好的代碼我需要遵循與其他方法的任何警告。
增加了混亂加密關於鹽的this會談後,現在我完全lost.Why應該鹽的存在於加密,而不是散列法。
奇妙解釋現在一切都使得sense.btw只是一個怪癖不base64encoding,解碼,UTF8編碼,解碼出爐即解密方法裏面,加密的原始數據或outside.I把它們放在外面,以便將來開發者可以實現自己的路在加密後存儲'byte []'。例如,這是現在遵循的東西'DAL.ChangePassword(Convert.ToBase64String(AESUtility.EncryptPassword(Encoding.UTF8。'GetBytes(password),KEY,IV)));' – Deeptechtons 2012-02-08 09:22:59
我想我個人會將字符串傳遞給方法,並期待Base64字符串輸出(因此將UTF8.GetBytes和Convert.ToBase64String放入加密方法中)。理由是它減少了必須在任何地方進行這些轉換的開銷,並且還確保它是標準的並且(幾乎)保證一個開發人員編寫的密碼加密可以被另一個開發人員解密而無需確定哪些轉換他們可能在加密時使用。 – Iridium 2012-02-08 09:53:59
核心密碼庫已經處理密鑰和二進制數據。你不應該在他們周圍創建包裝方法來做同樣的事情;相反,請專注於您的用例併爲這些用戶創建類。 – 2012-02-09 00:48:13