3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php require('CodeBook.php'); $key = '秘密の鍵128b'; $text = '秘密のメッセージ'; /* AES(RIJNDAEL128)、CBC、PKCS#5でPAD */ $codeBook = new CodeBook(); list($encrypted, $iv) = $codeBook->encrypt($key, $text); //暗号化 $decrypted = $codeBook->decrypt($key, $encrypted, $iv); //復号 // => "秘密のメッセージ => (略) => 秘密のメッセージ" echo $text . ' => ' . $encrypted . ' => ' . $decrypted; echo '<br />'; echo var_dump($text === $decrypted); // => bool(true) echo '<hr />'; /* RIJNDAEL256、ECB、Null文字でPAD */ $codeBook = new CodeBook(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB, CodeBook::PAD_NULL); list($encrypted) = $codeBook->encrypt($key, $text); //暗号化(ECBはIV不要) $decrypted = $codeBook->decrypt($key, $encrypted); //復号 // => "秘密のメッセージ => (略) => 秘密のメッセージ" echo $text . ' => ' . $encrypted . ' => ' . $decrypted; echo '<br />'; echo var_dump($text === $decrypted); // => bool(true) echo '<hr />'; /* Blowfish、CBC、スペースでPAD */ $codeBook = new CodeBook(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC, CodeBook::PAD_SPACE); list($encrypted, $iv) = $codeBook->encrypt($key, $text); //暗号化 $decrypted = $codeBook->decrypt($key, $encrypted, $iv); //復号 // => "秘密のメッセージ => (略) => 秘密のメッセージ" echo $text . ' => ' . $encrypted . ' => ' . $decrypted; echo '<br />'; echo var_dump($text === $decrypted); // => bool(true)
Output for 5.1.1 - 7.1.0
Warning: require(CodeBook.php): failed to open stream: No such file or directory in /in/bEFBO on line 2 Fatal error: require(): Failed opening required 'CodeBook.php' (include_path='.:') in /in/bEFBO on line 2
Process exited with code 255.
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/bEFBO on line 42
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Warning: main(CodeBook.php): failed to open stream: No such file or directory in /in/bEFBO on line 2 Fatal error: main(): Failed opening required 'CodeBook.php' (include_path='.:') in /in/bEFBO on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected ')', expecting '(' in /in/bEFBO on line 22
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected ')', expecting '(' in /in/bEFBO on line 22
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `'('' in /in/bEFBO on line 22
Process exited with code 255.