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以外其他参数相同哦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值