c# 对称加密密匙不管怎么换 加密出来的字符串怎么都是一样的???

如题!
2024-11-10 18:44:31
推荐回答(2个)
回答1:

using (Aes aes = Aes.Create())
{
    aes.GenerateIV();
    aes.GenerateKey();
    byte[] input = Encoding.ASCII.GetBytes("HELLOWORLD");
    byte[] output;
    using (var encryptor = aes.CreateEncryptor())
    {
        output = encryptor.TransformFinalBlock(input, 0, input.Length);
        Console.WriteLine("Key(BASE64):{0}", Convert.ToBase64String(aes.Key));
        Console.WriteLine("Key(HEX):{0}", BitConverter.ToString(aes.Key));
        Console.WriteLine("Secret(BASE64):{0}", Convert.ToBase64String(output));
        Console.WriteLine("Secret(HEX):{0}", BitConverter.ToString(output));
    }
    aes.GenerateKey();
    using (var encryptor = aes.CreateEncryptor())
    {
        output = encryptor.TransformFinalBlock(input, 0, input.Length);
        Console.WriteLine("Key(BASE64):{0}", Convert.ToBase64String(aes.Key));
        Console.WriteLine("Key(HEX):{0}", BitConverter.ToString(aes.Key));
        Console.WriteLine("Secret(BASE64):{0}", Convert.ToBase64String(output));
        Console.WriteLine("Secret(HEX):{0}", BitConverter.ToString(output));
    }
    using (var decryptor = aes.CreateDecryptor())
    {
        byte[] dec = decryptor.TransformFinalBlock(output, 0, output.Length);
        Console.WriteLine("PLAIN:{0}", Encoding.ASCII.GetString(dec));
    }
}
Console.ReadKey();

这个应该是你的代码问题。

回答2:

你好!
肯定是程序的问题,没有代码怎么知道原因