C#使用System.Security.Cryptography.Aes进行AES256加密的示例

我需要实现AES 256加密/解密,我无法找到一个正常工作的示例。

MSDN建议我应该使用AES类。

Rijndael类是Aes算法的前身。 您应该使用Aes算法而不是Rijndael。 有关更多信息,请参阅.NET安全博客中的Rijndael和AES之间的条目。

有没有人能指出我使用AES类AES2的一个很好的例子?

为了增加一点清晰度:

我有一个密码文件,其中包含共享密钥和一串加密文本。 我需要解密文本然后validation它。

我见过的所有例子都希望至少有2个参数来执行加密/解密。

我是否能够从密码文件中的文本推断初始化向量和密钥?

这是我的密码文件中保存的文本示例:

ÊÚḱÌráƒ@†²;Ä;öDWnªóª©¨¨L

也许这里列出的这个例子可以帮助你。 作者的陈述

大约24行代码加密,23行解密

一旦我发现了我的客户端如何处理加密/解密的所有信息,就可以直接使用dtb建议的AesManaged示例 。

最终实现的代码如下所示:

try { // Create a new instance of the AesManaged class. This generates a new key and initialization vector (IV). AesManaged myAes = new AesManaged(); // Override the cipher mode, key and IV myAes.Mode = CipherMode.ECB; myAes.IV = new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // CRB mode uses an empty IV myAes.Key = CipherKey; // Byte array representing the key myAes.Padding = PaddingMode.None; // Create a encryption object to perform the stream transform. ICryptoTransform encryptor = myAes.CreateEncryptor(); // TODO: perform the encryption / decryption as required... } catch (Exception ex) { // TODO: Log the error throw ex; }