AES加密从python密钥到C#的KEY转换

时间:2014-07-16 15:34:57

标签: c# encryption aes rijndaelmanaged

我在python中使用AES加密了文件,其密钥在代码中定义为:

key = '\x14\x15\xa2\xf6\xb6\x17\x4a\x58\xb6\x17\x4a\x58\xb6\x17\x4a\x58'
#print binascii.hexlify(key)
aes = AES.new(key, AES.MODE_ECB)

然而,我的C#代码将关键参数视为" skey = 1234512345678976"

private static void EncryptFile(string inputFile, string outputFile, string skey)
        {
            try
            {
                using (RijndaelManaged aes = new RijndaelManaged())
                {
                    byte[] key = ASCIIEncoding.UTF8.GetBytes(skey);
                    ....
                }
            }
         }

那么,如何根据相同的密钥解密这些文件? C#中python键的等价物是什么?我在这里使用C#代码:http://www.fluxbytes.com/csharp/encrypt-and-decrypt-files-in-c/

1 个答案:

答案 0 :(得分:1)

我不认为您想要 ASCIIEncoding.UTF8.GetBytes(skey),您需要将密钥视为十六进制字符串并将其转换为此类。参见:

How can I convert a hex string to a byte array?