PHP API接口數據簡單快速的加密解密


php7.0版本以上不支持mcrypt_encryp函數進行加密的代碼,加密方式改為openssl_encrypt

用自己私人的服務器來測試吧,99買阿里雲

 openssl_系列支持php5.3以上版本

1、加密方式:openssl_encrypt

// 待加密數據$data 

// 加密方式$method ='des-ecb';

// 密鑰$key = 'dfsf3s@!Q$fse8';

// 加密后的數據$data2 

$data2 = openssl_encrypt($data, 'des-ecb', 'dfsf3s@!Q$fse8');

 

2、加密方式:openssl_decrypt

// 待解密數據$data2 

// 加密方式$method ='des-ecb';

// 密鑰$key = 'dfsf3s@!Q$fse8';

// 解密后的數據$data

$data = openssl_decrypt($data2, 'des-ecb', 'dfsf3s@!Q$fse8');

 

3.擴展

PHP 的 OpenSSL 擴展中,對稱加密的相關函數有:

  • openssl_encrypt()
  • openssl_decrypt()
  • openssl_random_pseudo_bytes() 
  • openssl_cipher_iv_length()

函數openssl_encrypt和openssl_decrypt參數相同都是($data, $method, $key, $options, $iv)

  1. $data 字符串
  2. $method 加密算法,如:des-ecb,AES-128-CBC,AES-128-CBC-HMAC-SHA1,AES-128-ECB,seed-ofb大概100多種
  3. $key 密鑰
  4. $options 可選, 填充方式,默認0
  5. $iv 可選,初始化向量,用 openssl_random_pseudo_bytes() 生成隨機$iv。
  •    $iv長度隨加密算法不同而不同,需要函數openssl_cipher_iv_length($method)獲取長度。如: openssl_cipher_iv_length('BC-CBC'); //長度 8,
  •    有些加密方式不用傳$iv這個參數,如:des-ecb,AES-128-ECB


最后,加密和解密時候要確保除了$data以外其他參數相同哦。


免責聲明!

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



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