Крипто JS Шифрование и дешифрование в UWP C# - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть URL-ссылка на видео, которая зашифрована с помощью Crypto JS на сервере, и моя работа в приложении Universal Windows в c# заключается в расшифровке отправленного содержимого и получении исходной URL-ссылки на видео.

Я пытался использовать расшифровку AES, но все еще получаю ошибки. Ниже приведен массив, который генерируется, когда URL зашифрован на сервере

Passphrase: e615242cd9498f2a38995d516bb5f8c819be91a4

зашифрованная строка: { "кар": "yA8RGCPPvX4f9QhIJ0ga2oOutxnUEcddh5iBQalPoAlNZgutVTefOdvwO54D7Bwl2eTr + я / U9 / cDL6sVcvZ9 + hXfr1eZ / sYjjKX0qSr + yPjA + CrQWeApBPVtS45JPCY8ekB2pZah8uqqtPpfeV5T8xHzrkJJbS0d + VqFhj1aqao / qWKdCaD6BK75QfnkBz0XzQd / ulK7saoLGO2t7LHhlg ==», "IV": "0fa9a8205ccb9894e416e8ba85bc4960", "s": "60f24ca1a8380ca * +1018 *"}

Ниже приведен код, который требуется ключ и Iv и что нужно расшифровать

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;
    }

}

Моя проблема заключается в получении необходимой информации из зашифрованного массива Cryto JS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...