3v4l.org

run code in 300+ PHP versions simultaneously
<?php class xxtea { public function encrypt($key, $salt = null) { if (is_null($salt)) { $strSalt = $this->salt; } else { $strSalt = $salt; } return str_replace(array('+', '/', '='), array('-', '_', '.'), base64_encode($this->xxteaEncrypt($key, $strSalt))); } public function decrypt($value, $salt = null) { if (is_null($salt)) { $strSalt = $this->salt; } else { $strSalt = $salt; } $strValue = str_replace(array('-', '_', '.'), array('+', '/', '='), $value); return $this->xxteaDecrypt(base64_decode($strValue), $strSalt); } private function long2str($v, $w) { $len = count($v); $n = ($len - 1) << 2; if ($w) { $m = $v[$len - 1]; if (($m < $n - 3) || ($m > $n)) return false; $n = $m; } $s = array(); for ($i = 0; $i < $len; $i++) { $s[$i] = pack("V", $v[$i]); } if ($w) { return substr(join('', $s), 0, $n); } else { return join('', $s); } } private function str2long($s, $w) { $v = unpack("V*", $s . str_repeat("\0", (4 - strlen($s) % 4) & 3)); $v = array_values($v); if ($w) { $v[count($v)] = strlen($s); } return $v; } private function int32($n) { while ($n >= 2147483648) $n -= 4294967296; while ($n <= -2147483649) $n += 4294967296; return (int) $n; } private function xxteaEncrypt($str, $key) { if ($str == "") { return ""; } $v = $this->str2long($str, true); $k = $this->str2long($key, false); if (count($k) < 4) { for ($i = count($k); $i < 4; $i++) { $k[$i] = 0; } } $n = count($v) - 1; $z = $v[$n]; $y = $v[0]; $delta = 0x9E3779B9; $q = floor(6 + 52 / ($n + 1)); $sum = 0; while (0 < $q--) { $sum = $this->int32($sum + $delta); $e = $sum >> 2 & 3; for ($p = 0; $p < $n; $p++) { $y = $v[$p + 1]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $z = $v[$p] = $this->int32($v[$p] + $mx); } $y = $v[0]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $z = $v[$n] = $this->int32($v[$n] + $mx); } return $this->long2str($v, false); } private function xxteaDecrypt($str, $key) { if ($str == "") { return ""; } $v = $this->str2long($str, false); $k = $this->str2long($key, false); if (count($k) < 4) { for ($i = count($k); $i < 4; $i++) { $k[$i] = 0; } } $n = count($v) - 1; $z = $v[$n]; $y = $v[0]; $delta = 0x9E3779B9; $q = floor(6 + 52 / ($n + 1)); $sum = $this->int32($q * $delta); while ($sum != 0) { $e = $sum >> 2 & 3; for ($p = $n; $p > 0; $p--) { $z = $v[$p - 1]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $y = $v[$p] = $this->int32($v[$p] - $mx); } $z = $v[$n]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $y = $v[0] = $this->int32($v[0] - $mx); $sum = $this->int32($sum - $delta); } return $this->long2str($v, true); } } $vids = array( 'LDpiIaiflqKm_1-sn4rlfQ..', 'Whv6DqoIWnTjbdVpOB_G-A..', '_XzfjQwvFb1Iw7IOVObezA..', 'x4YLLeBVCF3hTXmQC-aSBg..', 'R7w6DO0HVWSptVxcUzfEMA..', 'RaEw9f_cUDLir6Ztfpis_A..', 'x1iZMvYg_aQGZXJqHrUwCA..', 'xSz5rd55YacQwj-sjO8VbQ..', 'VwNXGoiLtXiPHtmEFFRMVQ..', 'I8IzZN3DEq3gxtEkQf307g..', 'kf1prc571ansQlFJVeMXLA..', 'zDLp-memmjq9mkbM9WXmdg..', '6jV7RIzIQSg8lPtfIdwbbg..', 'AxrJCwNqFm5jdeu5YJ8dPg..', 'OQl3bTsQ7pEnZyEl8kVN8g..', 'VKS7CkhAFGz5AuxG-owjCA..', 'ESmoSOB2E_9ZTxd_9y-VnQ..', 'BOjeKIzCc45zptk-_bjS7Q..', 'g97f-XmzN-9k-965anrkvA..', 'VQsElAqBu2K2GNIIUj88ug..', 'IlKrFix9OvrMOeXEW0NORg..', 'gBQXe_sPS3P9PbM9jwZGFg..', '2k2Y8EvQvj5p2NnolYNAmQ..', 'L0II99osOogKsExJMleyFQ..', 'j08XwBlaaFf_FXpFQEG9fw..', 'Y7icpn7Ystql5gR0KlQ9-w..', 'PGbJS5W2q5Oww92xxObbFQ..', 'zv2oaf8eGU5d4eFoKfyr9A..', 'rCVGNjIiZh0GjMgrOtz_jg..', 'V-qAJ2JcBnWa2z6JduqdoQ..', 'ykHHrnnx5VGeb9TnSDuYmw..', 's75LCLqi9zMd_qK9ryjkVA..', 'roWVA9tycIQioMBXE8oEgw..', 'FkOO9v8mHl5GrgQPq4desg..', '2bfOvqywAUjD3uMrixDSXg..', 'oOr0n0Z4Vpl7hBlt7SH0Lg..', 'kw4nushuOgtabBF0V1NH8g..', 'Px9pFI_x15fEtgH_ikD51g..', 'T7ptAH3TlQJzE5ahxwfDbA..', 'fcSWOcRfXzrokzsUJozULg..', 'ozAsO0tVEAf6PPL-Bwygyw..', '_UYs73ER8y4-gITclUc5CQ..', 'dvO__BFcF3TvajG2Ct0krg..', 'ZKvfoj3aDj-hMhjYvsfpVg..', 'NtqVtPOw5l6dHsA9ZCmkSw..', 'ygfwGQgSoSoJOj0EvAjDeg..', '-df2AMojyvJ4Flx8m4lRMw..', 'dJNyq2E73uPpBGs068MEuQ..', ); foreach ($vids as $vid) { $xxtea = new xxtea(); echo $xxtea->decrypt($vid, '!@#^~ku6&%(com)T') . PHP_EOL; }
Output for git.master, git.master_jit, rfc.property-hooks
246267278 246267308 246269638 246279080 246459855 247525404 247525823 247526438 247526454 247526466 247526589 247526626 247526977 247527009 247527038 247527266 247527368 247527417 247527428 247527430 247527435 247527446 247527447 247527450 247527453 247527465 247527466 247527487 247527503 247527510 247527543 247527554 247527562 247527598 247527603 247527613 247527643 247527650 247527660 247527680 247527682 247527691 247527715 247527720 247527737 247531326 247531857 247547238

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
34.62 ms | 402 KiB | 8 Q