Эквивалент jQuery jCryption в C#

У меня есть код C# для имитации метода шифрования jQuery jCryption:

      public static string Encrypt(string plainText, string modulus, string exponent)
{
    RSAParameters rsaParams = new RSAParameters
    {
        Modulus = HexStringToByteArray(modulus),
        Exponent = HexStringToByteArray(exponent)
    };

    using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
    {
        rsa.ImportParameters(rsaParams);
        byte[] dataBytes = Encoding.UTF8.GetBytes(plainText);
        byte[] encryptedData = rsa.Encrypt(dataBytes, false);
        return BitConverter.ToString(encryptedData).Replace("-", "").ToLower();
    }
}

public static byte[] HexStringToByteArray(string hex)
{
    int length = hex.Length / 2;
    byte[] bytes = new byte[length];
    for (int i = 0; i < length; i++)
    {
        bytes[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
    }
    return bytes;
}

К сожалению, это не дает того же результата, что и jCryption. Я имею в виду, что сервер правильно проверяет код Javascript, в то время как код С# неправильный.

РЕДАКТИРОВАТЬ:файл jquery jcryption, который я разместил здесь.

0 ответов

Другие вопросы по тегам