Procedural File: mysqlAES.php
Source Location: /mysqlAES/mysqlAES.php
Classes:
mysqlAES
mysqlAES 패키지는 MySQL의 AES_EMCRYPT, AES_DECRYPT, HEX, UNHEX 함수를 php에서 호환되게 사용할 수 있도록 하는 기능을 제공한다.
Page Details:
Project: oops\Encrypt\mysqlAES :: MYSQL 호환 AES ENCRYPT/DECRYPT Class File: mysqlAES.php
mysqlAES 패키지는 MySQL의 AES_EMCRYPT, AES_DECRYPT, HEX, UNHEX 함수를 php에서 호환되게 사용할 수 있도록 하는 기능을 제공한다. encrypt method와 decrypt method의 경우, key 길이가 128bit(16byte)이면 MySQL과 MariaDB의 AES_ENCRYPT/AES_DECRYPT 함수와 완벽하게 호환이 된다. key 길이가 192또는 256bit일 경우에는 oops에서 제공하는 lib_mysqludf_aes256 UDF에서 제공하는 AES256_ENCRYPT, AES256_DECRYPT와 완변하게 호환이 된다. 의존성: <ul style="margin-left: 30px;"> <li>php >= 7.1 PHP 7.1 이전 버전에서는 1.0 branch 를 사용하십시오.</li> <li>openssl extension</li> </ul> 예제: <?php
require_once 'mysqlAES.php';
$cipher = '123123 궁중 떡뽁이';
$keys = array (
'128' => '0123456789012345',
'192' => '012345678901234567890123',
'256' => '01234567890123456789012345678901'
);
try {
printf ('Original Data : %s' . PHP_EOL, $cipher);
printf (" 128bit : E788F1C5FB172B546DA83BAE78D2E07863263129FA8539C443B35512CF8447E4\n");
printf (" 192bit : 08DBCABD2875EAC628630EF2033CABBE72C8E13D7197B9EE8F6845336A9C0806\n");
printf (" 256bit : DAE591EE85369CBFF489FBB2E791934ACD14329CC94D756D3A26B119AC7C9DC5\n");
foreach ( $keys as $key => $enckey) {
echo "------------------------------------------------------------------------------------\n";
$enc = myAES::hex (myAES::encrypt ($cipher, $enckey));
printf ('%d bit encryption: %s' . PHP_EOL, $key, $enc);
printf ('%d bit key length: %d' . PHP_EOL, $key, strlen ($enckey));
printf ('%d bit hex length: %d' . PHP_EOL, $key, strlen ($enc));
$dec = myAES::decrypt (myAES::unhex ($enc), $enckey);
printf ('%d bit revoke : %s' . PHP_EOL, $key, $dec);
}
} catch ( Exception $e ) {
fprintf (STDERR, "%s\n", $e->getMessage ());
}
?>
Tags:
mysqlAES_REQUIRES [line 232]
void mysqlAES_REQUIRES(
)
|
|
mysqlAES 패키지에서 필요한 의존성을 검사한다.
Tags:
|