博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php openssl 加密和解密 注意事项
阅读量:6003 次
发布时间:2019-06-20

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

hot3.png

class SimpleERP {    private $_config;    private $_domain;    private $_private_pem="./private.pem";    public function __construct() {           if(version_compare(PHP_VERSION,'5.5.9','<'))  die('require PHP > 5.5.9 !');        $this->_config = require 'config.php';    }    public function login() {        $user["tokenEnc"] = $this->_config['AUTH_TOKEN_ENC'];        $user['sign'] =$this->getSign($this->_config['AUTH_TOKEN_ENC']);        $urlData= http_build_query($user);                $url = $this->_config['WEB_URL'] . "system/user/loginByToken.do";        $header=array(            'user-agent:SIMPLE-HTTPCLIENT-RELEASED-RSA2',            'Content-Type:application/x-www-form-urlencoded;charset=utf-8'        );        $res = HttpService::postRequest($url, $urlData,$header);        var_dump($res);    }        private function getSign($data=""){        $private_key= file_get_contents($this->_private_pem);        $res= openssl_get_privatekey($private_key);        openssl_sign($data, $sign,$res,OPENSSL_ALGO_SHA256);        return  base64_encode($sign);    }}

 

1、php版本最好5.6  我用5.4版本同样的秘钥失败

2、加密的格式

3、加密好的签名进行base64转码获得字符串

4、url拼接http_build_query

5、header头部发送的设置 

转载于:https://my.oschina.net/u/554046/blog/3046228

你可能感兴趣的文章
面向对象编程-何为对象
查看>>
L2TP/IPSec一键安装脚本
查看>>
android以json形式提交信息到服务器
查看>>
CetnOS 6.7安装Hive 1.2.1
查看>>
最短最优升级路径(完美世界2017秋招真题)
查看>>
【PHP基础】错误处理、异常处理
查看>>
Android之drawable state各个属性详解
查看>>
Linux——网段的划分,子网掩码,ABC类地址的表示法
查看>>
android开发(22)使用正则表达式 。从一个字符串中找出数字,多次匹配。
查看>>
AJAX
查看>>
2015 多校联赛 ——HDU5334(构造)
查看>>
mysql字符集
查看>>
DP_1d1d诗人小G
查看>>
非、半、结构化数据学习【转载】
查看>>
SpringMVC之单/多文件上传
查看>>
avalon加载一闪而过现象
查看>>
Castle IOC概念理解
查看>>
如何配置Log4Net使用Oracle数据库记录日志
查看>>
一道在知乎很火的 Java 题——如何输出 ab【转】
查看>>
Python学习第二天-编写购物车
查看>>