2011-06-09 67 views
0

我爲SharePoint 2010網站創建基於表單的身份驗證的自定義註冊表單,並將密碼存儲爲aspnet_Membership數據庫表中的「加密」。在MachineKey中使用AES256作爲SqlMembershipProvider的「解密」

我在web.config中的設置顯示'decryption'參數是「AES」。我的老闆是要求我使用AES256,因爲它更安全,但我無法解決如何做到這一點。我一直在谷歌搜索和「stackoverflowing」,但到目前爲止,我一直無法找到一個文章,解釋我需要做什麼,或在哪裏尋找好的信息。

我的問題,我認爲,主要有:

  1. 是 「AES256」 爲 「解密」 參數的有效值?
  2. 如果沒有,只是產生一個更長的「解密密鑰」所需的所有東西,使AES更強?即如果我使我的解密密鑰長64個字符,是否構成AES256?
  3. 如果我完全脫離了我目前的想法,任何人都可以讓我跟蹤或解釋(或鏈接到解釋)如何更新我的web.config使用AES256而不是默認的AES?

以防萬一任何人想說「你應該使用哈希」..一直在那裏,討論,決定使用加密。只是覺得應該拿到的出路:)

回答

1
  1. 不行,你只能使用「AES」作爲AES算法解密參數。

  2. 是的,如果您生成長度爲256位(64字節)的文件,則實際上會有AES256。實際上,您也可以生成一個512位長的文件。該值越長,加密越強。

  3. 沒有必要。你似乎理解它。

現在,在.NET 4.0中,他們已經加強了這一點,允許SHA256用於驗證。有關詳細信息,請參閱MSDN's documentation (archive.org snapshot)

+0

對不起,花了我很長的時間來回復; SharePoint不會睡覺,因此我也不會這樣做!非常感謝您對我的想法的確認。我很高興知道我實際上在學習和理解一些東西,即使我仍然需要一些真實世界的確認:) – QMKevin 2011-06-24 20:58:51