php mcrypt эквивалент для sagepay на сервере Windows

Наша компания в основном использовала vbscript до недавнего времени, когда мы начали переходить на PHP. Попытавшись интегрировать набор форм SagePay в один из наших проектов, я столкнулся с этим препятствием.

Мы находимся на сервере Windows 2008, и это не может быть изменено. Сервер не содержит библиотеку mcrypt, и наш серверный сервер не будет устанавливать его из-за того, что он является общей платформой.

Проблемная линия исходит из набора форм SagePay, который вы используете для оплаты вещей с помощью SagePay. Надеюсь, некоторые из вас будут знакомы с ними.

Соответствующая строка:

//** perform encryption with PHP's MCRYPT module $strCrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $strEncryptionPassword, $strIn, MCRYPT_MODE_CBC, $strIV); 

Это часть более крупной функции шифрования следующим образом:

 //** Wrapper function do encrypt an encode based on strEncryptionType setting ** function encryptAndEncode($strIn) { global $strEncryptionType ,$strEncryptionPassword; if ($strEncryptionType=="XOR") { //** XOR encryption with Base64 encoding ** return base64Encode(simpleXor($strIn,$strEncryptionPassword)); } else { //** AES encryption, CBC blocking with PKCS5 padding then HEX encoding - DEFAULT ** //** use initialization vector (IV) set from $strEncryptionPassword $strIV = $strEncryptionPassword; //** add PKCS5 padding to the text to be encypted $strIn = addPKCS5Padding($strIn); //** perform encryption with PHP's MCRYPT module $strCrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $strEncryptionPassword, $strIn, MCRYPT_MODE_CBC, $strIV); //** perform hex encoding and return return "@" . bin2hex($strCrypt); } } 

Кто-нибудь знает, как я могу быть в состоянии обойти эту проблему или эквивалентную библиотеку, которую я могу реализовать на ее месте? Любые указатели, подсказки или точки в правильном направлении были бы наиболее оценены.

EDIT Хорошо, поэтому, изучив его больше, как я понимаю, мне просто нужна 128-битная функция AES Encryption, без использования mcrypt.

Есть много альтернатив, отсутствие поддержки / готовности вашего поставщика шлангов будет липким моментом.

Если бы вы были на своем собственном VPS / В состоянии спуститься по новому маршруту. Я бы рекомендовал OpenSSL; http://www.openssl.org/ – Поскольку вы на окнах, возможно, посетите http://slproweb.com/products/Win32OpenSSL.html

Вы проверили phpinfo() чтобы узнать, что доступно для вас?

Существует также PCrypt; http://www.phpclasses.org/package/1610-PHP-Symetric-encryption-of-data-using-only-PHP-code.html

Альтернативой родному расширению является phpseclib

http://phpseclib.sourceforge.net/