php接口加密

首先双方协商一个秘钥secret 然后按照统一的规则加密 md5/sha1等......
请求接口需要携带 sign,timestamp参数

中间件:接收传过来的参数 校验是否非法请求

protected $secret = 'dwwww123';

/**校验是否是合法请求
 * @param $data
 * @throws CustomErrorMessageException
 */
protected function checkSign($data)
{
    if (!isset($data['sign']) || !isset($data['timestamp'])) {
        throw new CustomErrorMessageException('缺少必要参数');
    }
    //5min内
    if ((time() - $data['timestamp']) > 300) {
        throw new CustomErrorMessageException('接口请求超时');
    }
    $mysign = sha1($data['timestamp'] . $this->secret);
    if ($data['sign'] !== $mysign) {
        throw new CustomErrorMessageException('接口校验失败');
    }
}

$this->CheckSing($request->input());

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值