You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的C#基础AES256加密结果与在线加密工具不一致?

AES加密结果与在线工具不一致的原因及修复

核心问题:密钥处理逻辑不匹配

你代码中将密钥字符串按Base64解码生成密钥,而在线工具默认是将密钥字符串以UTF-8编码转换为字节数组作为密钥,两者生成的密钥完全不同:

  • 代码逻辑:Convert.FromBase64String("gHyP6i8mXqmdFK4rKsKP7EqvzfxwbtyE") 解码后得到24字节(192位)密钥,不符合你指定的256位要求。
  • 在线工具逻辑:输入的密钥字符串共32个ASCII字符,UTF-8编码后正好是32字节(256位),符合AES-256的密钥长度规范。

修复方案

修改代码中的密钥生成方式,将Base64解码替换为UTF-8编码:

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace AesApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            using (Aes myAes = Aes.Create())
            {
                myAes.Mode = CipherMode.ECB;
                // 替换密钥生成逻辑为UTF-8编码
                myAes.Key = Encoding.UTF8.GetBytes("gHyP6i8mXqmdFK4rKsKP7EqvzfxwbtyE");

                string plaintext = "test";
                Console.WriteLine($"Plaintext : {plaintext}");

                ICryptoTransform encryptor = myAes.CreateEncryptor();

                using (MemoryStream msEncrypt = new MemoryStream())
                {
                    using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                    {
                        using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                        {
                            swEncrypt.Write(plaintext);
                        }

                        byte[] encrypted = msEncrypt.ToArray();
                        string encryptedString = Convert.ToBase64String(encrypted);
                        Console.WriteLine($"Encrypted : {encryptedString}");
                    }
                }
            }
        }
    }
}

验证说明

修改后运行代码,加密结果将与在线工具输出的yyO1N4G9uxXJlQ8FLU3KfQ==完全一致。此外:

  • .NET的Aes类默认使用PKCS7填充,与多数在线工具默认配置一致,无需额外调整。
  • ECB模式不需要初始化向量(IV),代码中未设置IV的逻辑是正确的。

内容的提问来源于stack exchange,提问作者user2713516

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:31:19