Сочетание кода шифрования / дешифрования c # WinRT с переполнением стека

У меня есть этот код WinRT:

public static string Encrypt(string Login)
{
var input = CryptographicBuffer.ConvertStringToBinary(Login, BinaryStringEncoding.Utf8);
var BinKey = CryptographicBuffer.ConvertStringToBinary(Key, BinaryStringEncoding.Utf8);
var BinIV = CryptographicBuffer.ConvertStringToBinary(IV, BinaryStringEncoding.Utf8);

var Encryptor = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesCbcPkcs7);

var SymmKey = Encryptor.CreateSymmetricKey(BinKey);

var encrypted = CryptographicEngine.Encrypt(SymmKey, input, BinIV);

return CryptographicBuffer.EncodeToBase64String(encrypted);
}

public static string Decrypt(string LoginToDecode)
{
var input = CryptographicBuffer.DecodeFromBase64String(LoginToDecode);
var BinKey = CryptographicBuffer.ConvertStringToBinary(Key, BinaryStringEncoding.Utf8);
var BinIV = CryptographicBuffer.ConvertStringToBinary(IV, BinaryStringEncoding.Utf8);

var Decryptor = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesCbcPkcs7);

var SymmKey = Decryptor.CreateSymmetricKey(BinKey);

var Decrypted = CryptographicEngine.Decrypt(SymmKey, input, BinIV);

return CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, Decrypted);
}

и мне нужно это в PHP. Я пытаюсь сделать это в этом коде, но это не то же самое:

function decryptRJ256($key,$iv,$string_to_decrypt){
$string_to_decrypt = base64_decode($string_to_decrypt);
$rtn = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $string_to_decrypt, MCRYPT_MODE_CBC, $iv);
$rtn = rtrim($rtn, "\0\4");
return($rtn);}

функция encryptRJ256 ($ key, $ iv, $ string_to_encrypt) {
$ rtn = mcrypt_encrypt (MCRYPT_RIJNDAEL_128, $ key, $ string_to_encrypt, MCRYPT_MODE_CBC, $ iv);
$ rtn = base64_encode ($ rtn);
возврата ($ RTN);}

Например, для этого ввода в C #:

  • Key = «lkirwf897 + 22 # bbt»
  • IV = «741952hheeyy66 # c»
  • пароль = «Asd»

У меня есть «eSy8m8ygN7rtC80DMdGOUQ ==».
Мне нужно это в PHP.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]