mysqlAES
[ class tree: mysqlAES ] [ index: mysqlAES ] [ all elements ]

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>

예제:

  1. <?php
  2. require_once 'mysqlAES.php';
  3.  
  4. use oops\Encrypt\mysqlAES as myAES;
  5.  
  6. $cipher '123123 궁중 떡뽁이';
  7. $keys array (
  8.     '128' => '0123456789012345',
  9.     '192' => '012345678901234567890123',
  10.     '256' => '01234567890123456789012345678901'
  11. );
  12.  
  13. try {
  14.     printf ('Original Data     : %s' PHP_EOL$cipher);
  15.     printf ("Expected Data     :\n");
  16.     printf ("           128bit : E788F1C5FB172B546DA83BAE78D2E07863263129FA8539C443B35512CF8447E4\n");
  17.     printf ("           192bit : 08DBCABD2875EAC628630EF2033CABBE72C8E13D7197B9EE8F6845336A9C0806\n");
  18.     printf ("           256bit : DAE591EE85369CBFF489FBB2E791934ACD14329CC94D756D3A26B119AC7C9DC5\n");
  19.  
  20.     foreach $keys as $key => $enckey{
  21.         echo "------------------------------------------------------------------------------------\n";
  22.         $enc myAES::hex (myAES::encrypt ($cipher$enckey));
  23.         printf ('%d bit encryption: %s' PHP_EOL$key$enc);
  24.         printf ('%d bit key length: %d' PHP_EOL$keystrlen ($enckey));
  25.         printf ('%d bit hex length: %d' PHP_EOL$keystrlen ($enc));
  26.         $dec myAES::decrypt (myAES::unhex ($enc)$enckey);
  27.         printf ('%d bit revoke    : %s' PHP_EOL$key$dec);
  28.     }
  29. catch Exception $e {
  30.     fprintf (STDERR"%s\n"$e->getMessage ());
  31.     print_r ($e->getTrace ()) "\n";
  32. }
  33.  
  34. ?>




Tags:

author:  JoungKyun.Kim <http://oops.org>
copyright:  (c) 2018, OOPS.org
link:  http://pear.oops.org/package/mysqlAES
since:  File available since release 0.0.1
filesource:  Source Code for this file
example:  mysqlAES 예제
license:  BSD








mysqlAES_REQUIRES [line 232]

void mysqlAES_REQUIRES( )

mysqlAES 패키지에서 필요한 의존성을 검사한다.



Tags:

access:  public


[ Top ]



Documentation generated on Tue, 14 May 2019 02:00:38 +0900 by phpDocumentor 1.4.4