我需要實現AES 256加密/解密,我一直沒能找到一個正常工作的例子。C#AES256加密使用System.Security.Cryptography.Aes示例
MSDN建議我應該使用AES類。
Rijndael類是Aes算法的前身。您應該使用Aes算法而不是Rijndael。有關更多信息,請參閱.NET Security博客中的條目The Differences Between Rijndael and AES。
任何人都可以指出我使用AES類AES256的好例子嗎?
要加一點更清晰:
我有一個包含共享密鑰和加密的文本字符串的加密文件。我需要解密文本然後驗證它。
我見過的所有例子都希望至少有2個參數來執行加密/解密。
我應該能夠推斷密碼文件中的初始化矢量和密鑰?
這是我的密碼文件中包含的文本的例子:
EUA±IRAƒ@†²; A;öDWnªóª©©¨|L
兩者的[AesManaged]的文檔(http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged .aspx)和[AesCryptoServiceProvider](http://msdn.microsoft.com/zh-cn/library/system.security.cryptography.aescryptoserviceprovider.aspx)類提供了詳細的示例。如果這些示例不能以您期望的方式工作,請發佈一個簡短但完整的程序來演示此問題。 – dtb
@dtb謝謝。我沒有發現AesManaged中的例子,因爲這隻適用於.Net 4,而我目前使用3.5,但這個例子看起來很簡單。 – TeamWild
要解碼數據,您需要知道最初使用哪種密碼流模式加密(通常是CBC或ECB)。 ECB沒有初始化向量。如果使用CBC,則加密數據的前幾個字節可以是IV。請提供您擁有的所有信息併發布完整的有效樣本(kez和加密數據)。由於加密數據是二進制的,因此您必須將其發佈爲Base 64編碼或以十六進制表示。 – Codo