视频号小店json消息解密PHP版本

文章详细介绍了如何在PHP环境下,特别是使用Laravel框架,对视频号小店的JSON格式加密消息进行解密。代码示例中,解密过程采用了AES-256-CBC模式,虽然微信官方文档中未明确指出,但通过这种方式成功解密了消息。解密后的明文可以按业务需求进行处理。
摘要由CSDN通过智能技术生成

视频号小店json消息解密

由于微信官方文档提供代码只有xml消息解密版本,故写一下json的消息解密,本代码根据xml消息解密版本修改。本代码使用laravel框架编写,请根据代码进行修改使用

小店消息

/**
 * 接收消息,处理消息方法
 */
public function msgHandler(){
   
	// 接收消息
	$json = file_get_contents("php://input");
	// 获取到的json格式 
	// {"ToUserName":"gh_xxxxxxxxxxx","Encrypt":"ycfMeCtQ0/6YZRjXRWzvMuIcYFhvjeO3rw5k2zrl97e20RwZHiNXRNisNPnmcG0/262hhJz+ZMhcJ4tkdBmnnru7UqbncxWgELns0NeLKpwGo1GlKcx43/Jt+094V2WA/6P2DGUrxXnGMbnVp8CB5cR0CJV+iTwvpTldyd58Qr5oa7ngV9HaR+PT1K/69Ua/6MQdiHCs3SMF9jPsP23OPsqT2xB1p1JJb/0WxkawOfcMZzDykKJS7jOmXSIm0iYkEjg5V7VUNSTQXfe6/qKmtOzybFfutNtOgyZf3aBxGkvMDJxPCzPkSwkxQeMfPxLQrINb5IgeypdHlr+IUILeyzUGq2gXhq49QDcbdV3f/0/4NnhL63Z8WYRFv9x3G+2K"}
	// json转对象处理
	$jsonObj = json_decode($json);
	// 获取到加密消息
	$Encrypt = $jsonObj->Encrypt;
	// 后台服务市场自研消息推送的appid
	$appid = 'xxxxxxxxxx';
	// 消息解密方法
	$content = $this->decrypt($Encrypt, $appid);
	// content是解密明文 加密串解密出来也是个json,报错的话是false,后续自己处理
}


/**
 * 对密文进行解密
 * @param string $encrypted 需要解密的密文
 * @return string 解密得到的明文
 */
private function decrypt(string $encrypted, $appid)
{
   
    try {
   
        // 后台服务市场自研的消息推送的消息密钥 消息加密密钥由43位字符组成,范围为A-Z,a-z,0-9
        $encodingAesKey =
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WincH0821

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值