簡體   English   中英

我用於 AES 加密 C# 的密鑰大小錯誤

[英]Error in Key Size I'm Using for AES Encryption C#

我正在嘗試使用我的客戶給我的下面的密鑰來加密一個字符串

   public static string EncryptKey()
        {
            var word = "9999";
            var key = "Z1UbeuBT7Uu3SZinrq0vzuDVXBU5FbiKksopJswQGk81";
            var iv = "KUNd9fhw48li2WUZ";
            byte[] result = null;
            byte[] wordBytes = Encoding.UTF8.GetBytes(word);
            using (MemoryStream ms = new MemoryStream())
            {
                using (RijndaelManaged AES = new RijndaelManaged())
                {
                    AES.Key = Convert.FromBase64String(key);
                    AES.IV = Encoding.UTF8.GetBytes(iv);

                    using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
                    {
                        cs.Write(wordBytes, 0, wordBytes.Length);
                        cs.Close();
                    }
                    byte[] encryptedBytes = ms.ToArray();
                    result = encryptedBytes;
                    return Convert.ToBase64String(result);
                }
            }
        }

但我收到一個錯誤

System.Security.Cryptography.CryptographicException: '指定的密鑰不是此算法的有效大小。

客戶端一直在使用這個 Key。

我究竟做錯了什么?

我的客戶使用

HttpServerUtility.UrlTokenDecode(string input);

用於解碼 base64 字符串。

希望這對未來的人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM