博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
api 接口加密php,API接口加密方法 | 码农网
阅读量:6158 次
发布时间:2019-06-21

本文共 974 字,大约阅读时间需要 3 分钟。

为了防止提交到接口的明文泄密,可以对提交到接口的数据加密,可以用AES加密算法。微信公众平台官方API接口就是采用此算法。

加密方法:

所有提交过来的数据都使用 AES

加密算法+B ase64

算法加密:

1.AES加密参数:

加密模式:AES-128-ECB ( 可用更安全的aes-128-cbc-微信公众平台在用

))

向量iv:空 (aes-128-cbc时需要)

密钥Key:“123456789”(请勿外泄)

填充:无( 微信公众平台用的是PKCS7填充

)

加密步骤:

对数据进行AES加密。

对AES加密后的数据进行Base64加密。

3.加密示例:

1)原始数据:“hello world”

2)AES加密后数据:“bH� �G:9�i_x0005_��”

3)Base64加密后数据:“YkilCuxHOgY5Bv9pGgXcwA==”

代码:

//$key previously generated safely, ie: openssl_random_pseudo_bytes

$key='123456789';

$plaintext="hello world";

//$cipher = "aes-128-cbc";

$cipher = "AES-128-ECB";

if (in_array($cipher, openssl_get_cipher_methods()))

{

// $iv='1111111111111111';

$iv='';

$ciphertext = openssl_encrypt($plaintext, $cipher, $key, OPENSSL_RAW_DATA, $iv);

$ciphertext =base64_encode($ciphertext);

//store $cipher, $iv, and $tag for decryption later

$original_plaintext = openssl_decrypt(base64_decode($ciphertext), $cipher, $key, OPENSSL_RAW_DATA, $iv);

var_dump( $original_plaintext);

var_dump( $ciphertext);

}

转载地址:http://ckifa.baihongyu.com/

你可能感兴趣的文章
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>
【转】百度地图api,根据多点注标坐标范围计算地图缩放级别zoom自适应地图
查看>>
用户调研(补)
查看>>
ExtJS之开篇:我来了
查看>>
☆1018
查看>>
oracle 去掉空格
查看>>
6.13心得
查看>>
Runtime类
查看>>
eclipse decompiler
查看>>