Шифрование и дешифрование Cryptojs в UWP C#
У меня есть ссылка на URL-адрес видео, которая зашифрована с помощью CryptoJS на сервере, и моя работа в моем универсальном приложении Windows на c# состоит в том, чтобы расшифровать отправленный контент и получить исходную ссылку на URL-адрес видео.
Я пытался использовать дешифрование AES, но все равно получал ошибки. Ниже приведен массив, который генерируется при шифровании URL-адреса на сервере
Кодовая фраза: e615242cd9498f2a38995d516bb5f8c819be91a4
Passphrase: e615242cd9498f2a38995d516bb5f8c819be91a4
Encrypted String: {"ct":"yA8RGCPPvX4f9QhIJ0ga2oOutxnUEcddh5iBQalPoAlNZgutVTefOdvwO54D7Bwl2eTr+i/u9/cDL6sVcvZ9+hXfr1eZ/sYjjKX0qSr+yPjA+CrQWeApBPVtS45JPCY8ekB2pZah8uqqtPpfeV5T8xHzrkJJbS0d+VqFhj1aqao/qWKdCaD6BK75QfnkBz0XzQd/ulK7saoLGO2t7LHhlg==","iv":"0fa9a8205ccb9894e416e8ba85bc4960","s":"60f24ca1a8380cac"}
Что я уже пробовал:
Below is the code that requires an key and Iv and what to decrpyt but i dont know how to get the key.
class AesEnDecryption { // Key with 256 and IV with 16 length private string AES_Key = ""; private string AES_IV = ""; private IBuffer m_iv = null; private CryptographicKey m_key; public AesEnDecryption() { IBuffer key = Convert.FromBase64String(AES_Key).AsBuffer(); m_iv = Convert.FromBase64String(AES_IV).AsBuffer(); SymmetricKeyAlgorithmProvider provider = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesCbcPkcs7); m_key = provider.CreateSymmetricKey(key); } public byte[] Encrypt(byte[] input) { IBuffer bufferMsg = CryptographicBuffer.ConvertStringToBinary(Encoding.ASCII.GetString(input), BinaryStringEncoding.Utf8); IBuffer bufferEncrypt = CryptographicEngine.Encrypt(m_key, bufferMsg, m_iv); return bufferEncrypt.ToArray(); } public string Decrypt(byte[] input) { IBuffer bufferDecrypt = CryptographicEngine.Decrypt(m_key, input.AsBuffer(), m_iv); string one = Encoding.Unicode.GetString(bufferDecrypt.ToArray()); return one; } }
Richard MacCutchan
Шифратор преобразует строку в ASCII, но дешифратор получает ее как Unicode. Нет никакой необходимости в любом из этих преобразований. Просто зашифруйте исходную строку как есть, и она должна работать.
Member 14805662
У меня есть зашифрованная строка, которую нужно расшифровать. Поэтому, когда вы говорите, что я должен зашифровать исходную строку, я вас не понимаю. Пожалуйста, добавьте больше света. Спасибо
Richard MacCutchan
Посмотри на свой код. Вы преобразуете строку в ASCII, а затем в двоичный код и шифруете результат. Вам не нужны эти преобразования, просто зашифруйте фактические исходные данные.