Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AES解密的前16个字节是垃圾_C#_Aes - Fatal编程技术网

C# AES解密的前16个字节是垃圾

C# AES解密的前16个字节是垃圾,c#,aes,C#,Aes,我试图用C语言复制这个Javascript# 但是使用下面的代码,解密字符串的前16个字节是垃圾(但对于相同的输入总是相同的) Javascript输出:https://lh3.googleusercontent.com/9xsACLpNPipRFBrSZ8FOXSTa4YkrI2p3vxpBPTV2tzBZ6tYUCtLk-0lOcFg9y5f_thL8wlqMnQ=m37?&jparams=ODcuMjU0LjczLjE3Nw&upx=TW96aWxsYS81LjAgKFdpbmRvd3Mg

我试图用C语言复制这个Javascript#

但是使用下面的代码,解密字符串的前16个字节是垃圾(但对于相同的输入总是相同的)

Javascript输出:https://lh3.googleusercontent.com/9xsACLpNPipRFBrSZ8FOXSTa4YkrI2p3vxpBPTV2tzBZ6tYUCtLk-0lOcFg9y5f_thL8wlqMnQ=m37?&jparams=ODcuMjU0LjczLjE3Nw&upx=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc3LjAuMzg2NS45MCBTYWZhcmkvNTM3LjM2#betaHost"

C#输出:“$NN尝试将IV解码为字节数组。您需要正确处理整数的字节顺序

iv = CryptoJS.enc.Hex.parse(bkZ)
key = CryptoJS.SHA256(skH)

function ovelDecrypt(data)
{
    var ret = null;
    try
    {
        var contentCiphertext = CryptoJS.lib.CipherParams.create(
        {
            ciphertext : CryptoJS.enc.Base64.parse(data)
        });
        var decrypted = CryptoJS.AES.decrypt(contentCiphertext, key,
        {
            mode : CryptoJS.mode.CBC,
            iv : iv,
            padding : CryptoJS.pad.Pkcs7
        });
        ret = decrypted.toString(CryptoJS.enc.Utf8);
    }
    catch(ShowMsg)
    {
        alert(ShowMsg")
    }
    return ret;
};
private static string bkZ = "a5e8d2e9c1721ae0e84ad660c472c1f3";
private static string skH = "nnsdfb23nmasdl047sm"; //For testing only
private static string ovelDecrypt(string cipherText)
{
    //Generate the initialization vector
    int[] iv = new int[4];
    for (int i = 0; i < 4; i++)
        iv[i] = (~Convert.ToInt32(bkZ.Substring(i * 8, 8), 16) + 1) * -1;

    //Generate the key
    byte[] key;
    using (SHA256 sha256Hash = SHA256.Create())
        key = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(skH));

    using (RijndaelManaged rijndael = new RijndaelManaged())
    {
        int CHUNK_SIZE = 128;
        rijndael.Mode = CipherMode.CBC;
        rijndael.Padding = PaddingMode.PKCS7;
        rijndael.KeySize = CHUNK_SIZE;
        rijndael.BlockSize = CHUNK_SIZE;
        rijndael.Key = key;
        rijndael.IV = iv.SelectMany(BitConverter.GetBytes).ToArray();
        ICryptoTransform transform = rijndael.CreateDecryptor();
        byte[] cipherbytes = Convert.FromBase64String(cipherText);
        byte[] decryptedOutput = transform.TransformFinalBlock(cipherbytes, 0, cipherbytes.Length);
        return Encoding.UTF8.GetString(decryptedOutput);
    }
}
iCY+Oars3gD/TDBMDoUyPxbRAglekyv7MdNW9I/lV1uUu88F3KISPhQi0NHwVO6DzFEGsf8MPxCZpTTWSCeaytYWb/K/f7cGyb7BlhgmRzksApDdMDC62kwh5ato5VShfOUd2VeD0YENCRQ79HpVSDd5ibtuNd2UqANsGw85leEo4kVKzL06RmRe6VY43iqV+/bxNt1BPzaaENKkcIat7fYeid5vBFcWsVU8oM0vr0lgTlGXZqstSWQcuMmLXQy5becJtQ+Bkj5obPpW+kC0FHLJJsoS/ZAd/aaSWfRzzo9nfEE1YPgPRa1C3qufHiBBn6jU2YC2cN591nlas5QurJQ3PBgBR/rEcoqk61/R+Qr8bBaMNT1C3j9aYIrVmg3q74RKOJWRkCMije1+EtwHMf/O49TMiQOu7I9VIJmheXc=
Javascript output: "https://lh3.googleusercontent.com/9xsACLpNPipRFBrSZ8FOXSTa4YkrI2p3vxpBPTV2tzBZ6tYUCtLk-0lOcFg9y5f_thL8wlqMnQ=m37?&jparams=ODcuMjU0LjczLjE3Nw&upx=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc3LjAuMzg2NS45MCBTYWZhcmkvNTM3LjM2#betaHost"
C# output:         "$NN<RRG???P??Pleusercontent.com/9xsACLpNPipRFBrSZ8FOXSTa4YkrI2p3vxpBPTV2tzBZ6tYUCtLk-0lOcFg9y5f_thL8wlqMnQ=m37?&jparams=ODcuMjU0LjczLjE3Nw&upx=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc3LjAuMzg2NS45MCBTYWZhcmkvNTM3LjM2#betaHost"