Geek tričko zdarma Python týden
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python
Avatar
Michal Pflegshörl:11. března 7:57

Potřebuji dešifrovat z AES např. tento řetězec
94F02734F16F5­22F8F33A594AB69DAF0051EB­7F97653A6DD1BE31F68F965C­208ABFCAEA81A38DB2B84­C72D46B037F149
pomocí klíče
2FF4F29F41940­65B95B6C6B8708451031755C­7651B7BA928210C3496A2A8A­2AC

Zkusil jsem: Zkoušel jsem následující kód

public static string AesDecrypt(string cipherText)
        {
            Byte[] inputBytes = StringToByteArray(cipherText);
            Byte[] outputBytes = inputBytes;

            Byte[] keyAndIvBytes = UTF8Encoding.UTF8.GetBytes("2FF4F29F4194065B95B6C6B8708451031755C7651B7BA928210C3496A2A8A2AC");

            string plaintext = string.Empty;

            using (MemoryStream memoryStream = new MemoryStream(outputBytes))
            {
                using (CryptoStream cryptoStream = new CryptoStream(memoryStream, GetCryptoAlgorithm().CreateDecryptor(keyAndIvBytes, keyAndIvBytes), CryptoStreamMode.Read))
                {
                    using (StreamReader srDecrypt = new StreamReader(cryptoStream))
                    {
                        plaintext = srDecrypt.ReadToEnd();
                    }
                }
            }

            return plaintext;
        }

        public static byte[] StringToByteArray(string hex)
        {
            return Enumerable.Range(0, hex.Length)
                             .Where(x => x % 2 == 0)
                             .Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
                             .ToArray();
        }

        private static RijndaelManaged GetCryptoAlgorithm()
        {
            RijndaelManaged algorithm = new RijndaelManaged();
            //set the mode, padding and block size
            algorithm.Padding = PaddingMode.PKCS7;
            algorithm.Mode = CipherMode.CBC;
            algorithm.KeySize = 128;
            algorithm.BlockSize = 128;
            return algorithm;
        }
 
Odpovědět 11. března 7:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.