3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function decrypt ($string,$cc_encryption_hash){ $key = md5(md5($cc_encryption_hash)) . md5($cc_encryption_hash); $hash_key = _hash($key); $hash_length = strlen($hash_key); $string = base64_decode($string); $tmp_iv = substr($string,0,$hash_length); $string = substr($string,$hash_length,strlen ($string) - $hash_length); $iv = $out = ''; $c = 0; while ($c < $hash_length){ $iv .= chr(ord($tmp_iv[$c]) ^ ord($hash_key[$c])); ++$c; } $key = $iv; $c = 0; while ($c < strlen($string)){ if (($c != 0 AND $c % $hash_length == 0)){ $key = _hash($key . substr($out,$c - $hash_length,$hash_length)); } $out .= chr(ord($key[$c % $hash_length]) ^ ord ($string[$c])); ++$c; } return $out; } function _hash($string) { $hash = (function_exists('sha1')) ? sha1($string):md5($string); $out = ''; $c = 0; while ($c < strlen($hash)){ $out .= chr(hexdec($hash[$c] .$hash[$c + 1])); $c += 2; } return $out; } decrypt("\xEF\xBF\xBD\x6F\x72\xEF\xBF\xBD\x3A\x69\x09\xEF\xBF\xBD\xEF\xBF\xBD\xC7\x91\xEF\xBF\xBD\xEF\xBF\xBD\x6C\xEF\xBF\xBD\xEF\xBF\xBD\x24\x78\x08\xEF\xBF\xBD\x08\xEF\xBF\xBD\x67\xEF\xBF\xBD\xEF\xBF\xBD\x16\xEF\xBF\xBD\xEF\xBF\xBD\x1F\x3F\xEF\xBF\xBD\x54","NjpKc0cpkzExDDvuGnZaTt926wemI34ldjWgaZvlo0IRt3cZh2Z0lYTilYuTRp5V");
Output for 5.2.10 - 5.6.26, hhvm-3.13.2, 7.0.0 - 7.1.0
Notice: Uninitialized string offset: 5 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 6 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 7 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 8 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 9 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 10 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 11 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 12 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 13 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 14 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 15 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 16 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 17 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 18 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 19 in /in/ZobA5 on line 13
Output for hhvm-3.10.0 - 3.12.0
Output for 4.3.0 - 5.2.9
Notice: Uninitialized string offset: 5 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 6 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 7 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 8 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 9 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 10 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 11 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 12 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 13 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 14 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 15 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 16 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 17 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 18 in /in/ZobA5 on line 13 Notice: Uninitialized string offset: 19 in /in/ZobA5 on line 13