<?php
class MCrypt
{
private $iv = 'fedcba9876543210'; #Same as in JAVA
private $key = '0123456789abcdef'; #Same as in JAVA
private $code = 'hello';
function __construct()
{
}
function encrypt($str) {
//$key = $this->hex2bin($key);
$iv = $this->iv;
}
function decrypt($code) {
//$key = $this->hex2bin($key);
$code = $this->hex2bin($code);
$iv = $this->iv;
}
protected function hex2bin($hexdata) {
$bindata = '';
for ($i = 0; $i < strlen($hexdata); $i += 2) { }
return $bindata;
}
}
PD9waHAgCgogICAgICAgIGNsYXNzIE1DcnlwdAogICAgICAgIHsKICAgICAgICAgICAgICAgIHByaXZhdGUgJGl2ID0gJ2ZlZGNiYTk4NzY1NDMyMTAnOyAjU2FtZSBhcyBpbiBKQVZBCiAgICAgICAgICAgICAgICBwcml2YXRlICRrZXkgPSAnMDEyMzQ1Njc4OWFiY2RlZic7ICNTYW1lIGFzIGluIEpBVkEKCQkJCXByaXZhdGUgJGNvZGUgPSAnaGVsbG8nOwoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBlbmNyeXB0KCRzdHIpIHsKCiAgICAgICAgICAgICAgICAgIC8vJGtleSA9ICR0aGlzLT5oZXgyYmluKCRrZXkpOyAgICAKICAgICAgICAgICAgICAgICAgJGl2ID0gJHRoaXMtPml2OwoKICAgICAgICAgICAgICAgICAgJHRkID0gbWNyeXB0X21vZHVsZV9vcGVuKCdyaWpuZGFlbC0xMjgnLCAnJywgJ2NiYycsICRpdik7CgogICAgICAgICAgICAgICAgICBtY3J5cHRfZ2VuZXJpY19pbml0KCR0ZCwgJHRoaXMtPmtleSwgJGl2KTsKICAgICAgICAgICAgICAgICAgJGVuY3J5cHRlZCA9IG1jcnlwdF9nZW5lcmljKCR0ZCwgJHN0cik7CgogICAgICAgICAgICAgICAgICBtY3J5cHRfZ2VuZXJpY19kZWluaXQoJHRkKTsKICAgICAgICAgICAgICAgICAgbWNyeXB0X21vZHVsZV9jbG9zZSgkdGQpOwoKICAgICAgICAgICAgICAgICAgcmV0dXJuIGJpbjJoZXgoJGVuY3J5cHRlZCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZGVjcnlwdCgkY29kZSkgewogICAgICAgICAgICAgICAgICAvLyRrZXkgPSAkdGhpcy0+aGV4MmJpbigka2V5KTsKICAgICAgICAgICAgICAgICAgJGNvZGUgPSAkdGhpcy0+aGV4MmJpbigkY29kZSk7CiAgICAgICAgICAgICAgICAgICRpdiA9ICR0aGlzLT5pdjsKCiAgICAgICAgICAgICAgICAgICR0ZCA9IG1jcnlwdF9tb2R1bGVfb3BlbigncmlqbmRhZWwtMTI4JywgJycsICdjYmMnLCAkaXYpOwoKICAgICAgICAgICAgICAgICAgbWNyeXB0X2dlbmVyaWNfaW5pdCgkdGQsICR0aGlzLT5rZXksICRpdik7CiAgICAgICAgICAgICAgICAgICRkZWNyeXB0ZWQgPSBtZGVjcnlwdF9nZW5lcmljKCR0ZCwgJGNvZGUpOwoKICAgICAgICAgICAgICAgICAgbWNyeXB0X2dlbmVyaWNfZGVpbml0KCR0ZCk7CiAgICAgICAgICAgICAgICAgIG1jcnlwdF9tb2R1bGVfY2xvc2UoJHRkKTsKCiAgICAgICAgICAgICAgICAgIHJldHVybiB1dGY4X2VuY29kZSh0cmltKCRkZWNyeXB0ZWQpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaGV4MmJpbigkaGV4ZGF0YSkgewogICAgICAgICAgICAgICAgICAkYmluZGF0YSA9ICcnOwoKICAgICAgICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgc3RybGVuKCRoZXhkYXRhKTsgJGkgKz0gMikgewogICAgICAgICAgICAgICAgICAgICAgICAkYmluZGF0YSAuPSBjaHIoaGV4ZGVjKHN1YnN0cigkaGV4ZGF0YSwgJGksIDIpKSk7CiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIHJldHVybiAkYmluZGF0YTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgfQ==