使用OpenSSL那么需要先了解一下http://www.cnblogs.com/wt645631686/p/8390936.html

<?php
//demo
$json = '{"sign":"myYCvJqsDJUNX67qJnklrVY025oSQmm4D4bIVdHZQzihV+G8G848MmAAatAxCDuCmJbenI0jRZk7p22HjFT0nRykEeSmTExiT+Jx7\/2GQn5grEA3qd7i9gCPz\/E7+n9mleukLuJoXeceVp626c4gLZTKiPPcmbsJIfwfNexCBZXb2B7OmcgvPqRYki8b8aZy3E\/DDdFABOyXr+OEuswooYzz1ivdL+8tfWXhejs54UaeS0IscoWBYXj2Bws8lPpCzC3OCGZV1bErlM7VekfpoNMO\/KOpJpPp8kA838EBp7uD\/QMKJxf0KeS4qta7E3aWzrwwj97OUKkJOWA2CBFcfA==","pay_data":"{\"amount\":\"200\",\"pay_time\":\"1529975466\",\"appOrderId\":\"31801806260910429835893414\",\"orderId\":\"1000180626057312701\",\"uId\":\"2\",\"appGoodsId\":\"1\",\"test_id\":\"1\"}"}'; /**
* 验证签名
*/
private function _verify_code($json = '') {
$sign = $json['sign'];
$data = $json['data'];
$data_arr = json_decode($data, true);
$test_id = intval($date_arr['test_id']);
if ($test_id == 1) {
$publicKey = <<<EOF
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2hcmCgXI9zZXJKWvkWZa
F/3kuDahyjHud+hmAN1/JA86GMDK64hEPV4CTHYT+WLZu3uT21f/b8IiDpXUvnwf
OVW+QCk7b4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaP/qAjutxByIcJyuy1JS/CuU2D
tvMVQ/pfV4r+99kRZ4pu+ZduD/yq5cEXZniQMnmtJI3TW389ESMyFaOzqclraDci
M1zBkm4rbcwUDJpm+Te6zoqSEy06Z0RR4HL2aOuBIDaCN7sodSmIpcA4xlI6n0z2
2Jq6K/yyOBGyj7unAbpS5iFuwEV5ICrAt9JezvgJ7wJIXWwxaXs4v+M/a87QiNZw
FQIDAQAB
-----END PUBLIC KEY-----
EOF;
}else {
$publicKey = <<<EOF
EOF;
}
$res = openssl_get_publickey($publicKey);
$result = (bool)openssl_verify($data, base64_decode($sign), $res);
openssl_free_key($res);
return $result; //bool
}

PHP中使用OpenSSL下openssl_verify验证签名案例的更多相关文章

  1. CryptAPI 数字签名 与 Openssl 验证签名

    这段时间要实现一个认证协议,分为客户端和服务器端,客户端使用windows操作系统,服务器端使用linux操作系统,在客户端下(windows),使用windows证书库中的签名证书对消息进行签名(使 ...

  2. openssl生成签名与验证签名

    继上一篇RSA对传输信息进行加密解密,再写个生成签名和验证签名. 一般,安全考虑,比如接入支付平台时,请求方和接收方要互相验证是否是你,就用签名来看. 签名方式一般两种,对称加密和非对称加密.对称加密 ...

  3. (8) openssl rsautl(签名/验证签名/加解密文件)和openssl pkeyutl(文件的非对称加密)

    rsautl是rsa的工具,相当于rsa.dgst的部分功能集合,可用于生成数字签名.验证数字签名.加密和解密文件. pkeyutl是非对称加密的通用工具,大体上和rsautl的用法差不多,所以此处只 ...

  4. openssl使用多种方法签名、自签名

    1.自建CA 自建CA的机制:1.生成私钥2.创建证书请求,在创建证书请求过程中由于需要提供公钥,而公钥来源于私钥,所以也需要指定私钥来创建证书请求,而实际上这里提供私钥的作用就是提取其中的公钥,这一 ...

  5. .NET Core 使用RSA算法 加密/解密/签名/验证签名

    前言 前不久移植了支付宝官方的SDK,以适用ASP.NET Core使用支付宝支付,但是最近有好几位用户反应在Linux下使用会出错,调试发现是RSA加密的错误,下面具体讲一讲. RSA在.NET C ...

  6. .net core中使用openssl的公钥私钥进行加解密

    这篇博文分享的是 C#中使用OpenSSL的公钥加密/私钥解密 一文中的解决方法在 .net core 中的改进.之前的博文针对的是 .NET Framework ,加解密用的是 RSACryptoS ...

  7. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  8. php接口数据加密、解密、验证签名代码实例

    php接口数据加密.解密.验证签名 代码非常easy,这里就不多废话了,直接奉上代码 <?php /** * 数据加密.解密.验证签名 * @edit http://www.lai18.com ...

  9. Android Studio环境下代码混淆+签名打包

    Android Studio环境下代码混淆+签名打包 作者 Mr_冯先生 关注 2016.08.21 01:10 字数 1040 阅读 734评论 5喜欢 34 注:本文使用的Android Stud ...

随机推荐

  1. cocos2d-x游戏引擎核心之二——内存管理

    (一) cocos2d-x 内存管理 cocos2d里面管理内存采用了引用计数的方式,具体来说就是CCObject里面有个成员变量m_uReference(计数); 1, m_uReference的变 ...

  2. php学习二:表达式

    1.  可变变量$$ 在php中,可变变量可以用$$来表示, 代码如下: $name = "zhangSan"; $$name = "liSi"; //相当于$ ...

  3. fluentValidation集成到autofac

    废话不说直接上代码 // 首先实现ValidatorFactory public class DependencyResolverValidatorFactory : ValidatorFactory ...

  4. mybatis按姓名或手机号搜索

    1.AND ((USER_NAME LIKE '%'||#{searchKey}||'%') OR (MOBILE_PHONE LIKE '%'||#{searchKey}||'%'))2. < ...

  5. 结合Ajax做地区内容切换!(城市切换)

    实现原理:点击,进行异步保存Cookie , 根据保存的Cookie来切换城市内容: 简单HTML示例: <!doctype html> <html> <head> ...

  6. Scikit Learn安装教程

    Windows下安装scikit-learn 准备工作 Python (>= 2.6 or >= 3.3), Numpy (>= 1.6.1) Scipy (>= 0.9), ...

  7. 310实验室OTL问题

    1.首先是下载OTL文件包,网址是:github.com/O-T-L,可以直接点击网页上的下载链接,也可以使用unlix命令,git clone https://github.com/O-T-L/OT ...

  8. Code Forces 18D Seller Bob(简单DP)

    D. Seller Bob time limit per test 2 seconds memory limit per test 128 megabytes input standard input ...

  9. 沈阳网络赛G-Spare Tire【容斥】

    17.64% 1000ms 131072K   A sequence of integer \lbrace a_n \rbrace{an​} can be expressed as: \display ...

  10. 修改mysql的字符集和默认存储引擎

    转自:http://blog.csdn.net/wyzxg/article/details/8779682 author:skatetime:2012/05/18 修改mysql的字符集和默认存储引擎 ...