encrypt.php 939 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. function upro_encrypt($plainText, $password)
  3. {
  4. $password = substr(hash('sha256', $password, true), 0, 32);
  5. // Initial Vector(IV)는 128 bit(16 byte)입니다.
  6. $iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);
  7. // 암호화
  8. return base64_encode(openssl_encrypt($plainText, 'aes-256-cbc', $password, OPENSSL_RAW_DATA, $iv));
  9. }
  10. function upro_decrypt($encrypted, $password)
  11. {
  12. $password = substr(hash('sha256', $password, true), 0, 32);
  13. // Initial Vector(IV)는 128 bit(16 byte)입니다.
  14. $iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);
  15. // 복호화
  16. return openssl_decrypt(base64_decode($encrypted), 'aes-256-cbc', $password, OPENSSL_RAW_DATA, $iv);
  17. }
  18. ?>