3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $data = "wpdPVWejqNRYqDTeUJ2Iw06/rnfHAoy5jtgTojiilD0="; $pwd = "ICS2015"; $salt = "7"; $dec = Decrypt($data, $pwd, $salt); echo "Dec: " . $dec . "\r\n"; $enc = Encrypt("boy10@naver.com", $pwd, $salt); echo "Enc: " . $enc . "\r\n"; function Decrypt($ciphertext, $password, $salt) { $ciphertext = base64_decode($ciphertext); $key = PBKDF1($password, $salt, 100, 32); $iv = PBKDF1($password, $salt, 100, 16); // NB: Need 128 not 256 and CBC mode to be compatible $decpad = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $ciphertext, MCRYPT_MODE_CBC, $iv); $pad = ord($decpad[($len = strlen($decpad)) - 1]); $dec = substr($decpad, 0, strlen($decpad) - $pad); return $dec; } function Encrypt($ciphertext, $password, $salt) { $key = PBKDF1($password, $salt, 1000, 32); echo "key: " . base64_encode($key) . "\r\n"; $iv = PBKDF1($password, $salt, 1000, 16); return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $ciphertext, MCRYPT_MODE_CBC, $iv)); } function PBKDF1($pass,$salt,$count,$dklen) { $t = $pass.$salt; //echo 'S||P: '.bin2hex($t).'<br/>'; $t = sha1($t, true); //echo 'T1:' . bin2hex($t) . '<br/>'; for($i=2; $i <= $count; $i++) { $t = sha1($t, true); //echo 'T'.$i.':' . bin2hex($t) . '<br/>'; } $t = substr($t,0,$dklen); return $t; } ?>
based on Y9vYd
Output for 7.0.0 - 7.2.6
Fatal error: Uncaught Error: Call to undefined function mcrypt_decrypt() in /in/6rd3r:23 Stack trace: #0 /in/6rd3r(8): Decrypt('\xC2\x97OUg\xA3\xA8\xD4X\xA84\xDEP\x9D\x88...', 'ICS2015', '7') #1 {main} thrown in /in/6rd3r on line 23
Process exited with code 255.
Output for hhvm-3.12.14 - 3.17.3
Dec: key: Q8sauLb96BU73nkPm6dNu5g1QcY= Enc: 3DSFOoieI+vVN5Q7BeGTpA==
Output for 5.6.0 - 5.6.30
Fatal error: Call to undefined function mcrypt_decrypt() in /in/6rd3r on line 23
Process exited with code 255.