小编Jos*_*čka的帖子

如何从 RijndaelManaged 升级到 AES?

我有一个用于在代码中加密/解密数据的工作解决方案(如下),但是当我将项目升级到 时DOTNET6,RijndaelManaged 就变得过时了:

警告 SYSLIB0022“RijndaelManaged”已过时:“Rijndael 和 RijndaelManaged 类型已过时。使用 Aes 代替。

SYSLIB0023“RNGCryptoServiceProvider”已过时:“RNGCryptoServiceProvider 已过时”。要生成随机数,请使用 RandomNumberGenerator 静态方法之一。

现在我想将其更改为 Aes/RandomNumberGenerator,但希望保持输出的方式与原样相同。不幸的是,我不熟悉加密/解密。

有人可以帮助我重写当前的块以使用 Aes 来代替 - 或者至少帮助我如何改变它并保持公共方法以相同的方式工作?

我有完整的代码(它按原样工作)

using System.Security.Cryptography;

namespace MyApp;

internal static class AES
{
    private static byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
    {
        byte[] encryptedBytes;
        byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };

        using (MemoryStream ms = new())
        {
            using RijndaelManaged AES = new(); // This reports Warning  SYSLIB0022  'RijndaelManaged' is obsolete: 'The Rijndael …
Run Code Online (Sandbox Code Playgroud)

c# cryptography aes rijndaelmanaged

19
推荐指数
1
解决办法
2万
查看次数

标签 统计

aes ×1

c# ×1

cryptography ×1

rijndaelmanaged ×1