php OpenSSL 加解密


2018-1-6 17:10:19 星期六

 1 $data = '123456';
 2 $openssl_method = 'AES-256-CBC';
 3 $openssl_iv_length = openssl_cipher_iv_length($openssl_method);
 4 $openssl_iv = openssl_random_pseudo_bytes($openssl_iv_length);
 5 $openssl_password = openssl_random_pseudo_bytes(16);
 6 
 7 echo '<pre>';
 8 // 加密
 9 $e = openssl_encrypt($data, $openssl_method, $openssl_password, 0, $openssl_iv);
10 echo  openssl_error_string ();
11 
12 //解密
13 $f = openssl_decrypt($e, $openssl_method, $openssl_password, 0, $openssl_iv);
14 echo  openssl_error_string ();
15 var_dump($e, $f);

注意:

1. 加密后輸出是base64編碼后的結果, 可以直接輸出到客戶端

2. $options 有 OPENSSL_RAW_DATA 時, 輸出的是加密后的原始結果, 沒有用base64編碼

3. $options 有 OPENSSL_ZERO_PADDING 時, 要求被加密的數據必須是"加密塊"長度的整數倍

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM