<?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)
preferences:
57.33 ms | 402 KiB | 5 Q