JAVA使用AES⼀CBC⼀PKCS5方式加密的内容,怎样在C#下解密

2025-01-01 15:19:39
推荐回答(1个)
回答1:

java和C#只是语言,AES这些是算法,所以和语言没太大关系,
JAVA加密的“1”和c#加密的“1”结果是一样的,解密出来也是一样的。
    /// 
    /// AES解密
    /// 

    /// 密文字符串
    /// 返回明文字符串
    public static string AESDecrypt(string showText)
    {
        byte[] cipherText = Convert.FromBase64String(showText);
        SymmetricAlgorithm des = Rijndael.Create();
        des.Key = Encoding.UTF8.GetBytes(Key);
        des.IV = _key1;
        byte[] decryptBytes = new byte[cipherText.Length];
        using (MemoryStream ms = new MemoryStream(cipherText))
        {
            using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read))
            {
                cs.Read(decryptBytes, 0, decryptBytes.Length);
                cs.Close();
                ms.Close();
            }
        }
        return Encoding.UTF8.GetString(decryptBytes).Replace("\0", "");   ///将字符串后尾的'\0'去掉
    }
}
上文为使用c#进行AES解密,其他的可以自行百度。