对称加密1

<?php
/*** client* rsa aes md5签名*/
$serect = '范英刚';
$appkey = '1248995523';
//url
$url = "127.0.0.1?";
//参数
$params = array();
$params['appkey'] = $appkey;
$params['name']   = 'shiyi';
$params['password'] = 'fyg666666';
$params['time'] = time();
//http请求参
$queryString = http_build_query($params);
//获取签名
$sign = getSign($params, $serect);
//拼接签名
$queryString .= "&sign=".$sign;//公钥加密
$public = '-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqbyZuhT9dm84krq2lWt
76P82FQjBuGCNJtY7tgmdzW3iM2ixvH+fid0K4jx/0SbaBgH5dZiWYeaHthHuw1Z
CNNSrF/sT2Sc7gfUnroWZIJ8tbTEfNC+GUz/OCVoug2cP6pfWH/dttWfxBflcJ6o
uMv8ZygdfFeWKbwd5fucOAh8hg1EZlk3JVC5YcusHJalpFMYspBByGvW3hbXcqUK
jURNTgUjE3OpQ6N97EKJBC1cygJ0/8ifjQsCGYbxx1L4E//JkB4KVXGcyU6UNt9g
AYNd8L53svAG/DIzlxbbkW3veKc/jbOfY2HdcLOZN4BW9pQ9jlvlUshV2unA4UVK
DMG5bHJpU1z0/hv0QDAQwdihV88iLoYjEsW4jGJEVEtJuPRNsIK9GR2gbp4tAGGI
2ZbrW/W6f/fXRQffHY8MA5+s0mrsq+a11IXVCFytYCsi10kNRhdUny9MamUkNCAB
mfhR1jadJbpqOMyjAob0sezCa1E24KvCp+FXBG3TwTy2xoZ+SRpzrwWrPsAkZVSu
H5wCS3/4kEdvcgpEdfdok5aGIqKdgeCr9BsorqQXsB0SWY3Z1dnz9UlVqzFBZWs7
eXq02ukI730PN0MDb3wNBwBQ9kD0/1rVCYURLaJMTLpBGXei9jYNdLut0k84zBc/
80KedIhDjUQN9rtiIqLnwqsCAwEAAQ==
-----END PUBLIC KEY-----';
$encrypt = "";
openssl_public_encrypt($queryString, $encrypt, $public);
$encrypt = urlencode($encrypt);
//拼接url
$url .= "query=".$encrypt;
var_dump($url);
/*** 签名生成* @param $params* @param $serect* @return string*/
function getSign($params, $serect)
{//字典序ksort($params);//参数拼接$query = http_build_query($params).$serect;return md5($query);
}
<?php
/*** serivce*/
$private = '-----BEGIN PRIVATE KEY-----
MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCqpvJm6FP12bzi
SuraVa3vo/zYVCMG4YI0m1ju2CZ3NbeIzaLG8f5+J3QriPH/RJtoGAfl1mJZh5oe
2Ee7DVkI01KsX+xPZJzuB9SeuhZkgny1tMR80L4ZTP84JWi6DZw/ql9Yf9221Z/E
F+Vwnqi4y/xnKB18V5YpvB3l+5w4CHyGDURmWTclULlhy6wclqWkUxiykEHIa9be
FtdypQqNRE1OBSMTc6lDo33sQokELVzKAnT/yJ+NCwIZhvHHUvgT/8mQHgpVcZzJ
TpQ232ABg13wvney8Ab8MjOXFtuRbe94pz+Ns59jYd1ws5k3gFb2lD2OW+VSyFXa
6cDhRUoMwblscmlTXPT+G/RAMBDB2KFXzyIuhiMSxbiMYkRUS0m49E2wgr0ZHaBu
ni0AYYjZlutb9bp/99dFB98djwwDn6zSauyr5rXUhdUIXK1gKyLXSQ1GF1SfL0xq
ZSQ0IAGZ+FHWNp0lumo4zKMChvSx7MJrUTbgq8Kn4VcEbdPBPLbGhn5JGnOvBas+
wCRlVK4fnAJLf/iQR29yCkR192iTloYiop2B4Kv0GyiupBewHRJZjdnV2fP1SVWr
MUFlazt5erTa6QjvfQ83QwNvfA0HAFD2QPT/WtUJhREtokxMukEZd6L2Ng10u63S
TzjMFz/zQp50iEONRA32u2IioufCqwIDAQABAoICACLkb7vK1R/3nT9Hwi1SR3Yw
OYqh6WeGxHCtMsnjODo3qYc3RIkZAcgZmQ8tuQ1QodXu0+6SnxlfOIwF/OSqHgJH
8yd7lX3GPLAOudKaiemTJJyikWpT5AqYS7bXL0qbbc82rrgRrOutUjVuDWOxjR37
12fgM+cwoWt3I0Xa5F4wngVqwQmMRFJE5yKv2kkeJFAtDWe1Rz4LjqtqUDMIu9eW
l5fURQ+9HmbODvk3wXwxKj/DsNh71OOp1IwTo2v18vNj4XquKb6+tCgVAQkXMzIc
AiEvUJotqb/3I8VIzyw1JjmtOLloeLaBVB2vGyzV+PIB7XQmJgV/IM7Z7K4i1Ljh
iUmy9DVqaZvTLgmmdmrA2I3p5QxWM4FRcgbSUYmyo8iidnFQJOlVFf7XW+a2HM2M
0yH7Ixxmy7XZ2PC9iwiIO3ErdVxWsP6s/OMYgOQ0VWvB4V68m3QUm/S/yNU1F2b2
yNoRhI5kZ9og4qnyfzPonwRwu1ztRRJltonPS2hejRk/Nd7DwLQSEBBRP7oC+rnx
AuH6Km+wOkBuTLt+x14fGwk527P8JivBRc8GeqxufySPaiHb+qvxmVga1N4/mtmW
SQcdYsYdwv8CWhrsMLGKqPwQenokuMe+VJ+Xj2cdcu7p0Xuk6EeZ8tR9nKL4oE26
KwVG2YIn5pWPdz7ryjoBAoIBAQDS7i/wCderOy3kO4yNvF/TXIfXjvRStbxVaj0w
IKwGiBkAyGYZpNSKgm8OfLXnY9yGkttVhI967Nj8SgXRmZ+Vv2qhJi2xB6uBBHlG
99baufliMVvvSqFYrzAXrQYfWIsXqV+KIcLaBiEM55awcHtVUIgciFNg/mm+jACD
+xvfGNTpVtZ/53EBc6AutpqhhkgAdH1zS3oi4Sa8cUFH/7598RcTS+epMtif0xqQ
hYlqxxIy7f4s+gjimov85lvG26mx1BUqz9mUQuMPaeRS8IlCv+n+JiymQEh3GOXA
3rN0d696qgZ24ydl4i7P+7jrqd5ueHgZ1lWfdIf3E/m+MsFhAoIBAQDPHY2VhHZf
D29hkBuhGwvV05WwmkqlI9Uypi9Sr7sj8du+WfdLeoNaH0x8/YKHhuLl2CSm1pQj
gS6m4v1UEiQXTQ3J9M5e/zao5G0NYTvhHTYZ9gmt4aE3+Eq8xrY4DT2uEqsNGbnS
XRcfnxet/jTp65nZcU86hx1gNxRO7IVitXwANWT4ZjCDmnVuH3pBqTM82zxM74jf
IZ2E5m3HWZuoryx6l31VY0Dv6wvRXEwebvvhv1fJxpJzxhfxA0oNqDuqQso0onmz
b+zISambhCg9v2GrEd4u8ltvjGsbEQFp+EBTeEwXH6uXnwpY2vFyIkNleyBP4fb3
bBbFSIkfOKOLAoIBAGxXR2wlwg8DgJjgNVt/zECGIIgJt1jcW/YLcY5M2c8pDJ6o
UDkPvtO+F0j7qXtGgbjlqZ8NTZ04FmPPqZl1LND/1scbExEA/YhxQdG/7y29pGhZ
Lf2E+cbRhQRELQbgteDbcGVE3g6aY1N7iJzryY2SpbbyFtGVG79xrbocur4mxQVt
QxPDTvoN59LWnConDMifDOixdfSAbSMRkRRoOfH6aX3R2RXBNh8xkU12KZUc1y4t
rAZyDypFc23c7HsBzPG4G38372wFxxbdrxci0X3lkUynUvu5vP7fXPNp8Ab8ireY
qWVbW5srSBwwEVWKlONtIVM0EhqrAkNYkUiuTUECggEAULxZc75WEkpHBcYSLyQG
4gx/nn8Wt/cW5Y6IhfgAwEtIeJRDZQXV7CylOVftKP14t1YhO3QL/ScfU2jKjZog
vYCI7n/ibn+YBBA/Pmb325Hyg/432bNJkDLWl23ynDj1IUUfrpSnrgwhtm7i4S1l
3QW9TFjyJIOE/PubjASBHnBWbRJjUL0tDjAItKvKkYvucDuZ7ve06B4HdEYK5xnU
JtZaRVOGROHS73M1gSA0f+yNfXuEMiCY+E5xCL9af6Zj08QDZK8tN7hamdy1I+1J
boCLBw+JB83rvLkFC2D+pxthn+gV6TGsRwd1FhwK4I3grc9oUhtolRxqZ+8VnLkM
bwKCAQB0U/Ct5eFvnAWggZsM/CidxzyTUEgAZYSsvFbR/XF/lhwV6j2Zk1Hjc4Lu
HJ+lS3ZYOlQlov6OKat8rw1agWrPT6DkW68TfMMsEG41yZvcdOiGwDaT8vy2UyI8
kkzNsDtCc/pArN4NuKz+uJgDHN70/AdllL+fXFnAxTRiTCmSpLKjj1lm9sZ5F8bX
QSBbFi2rV7zIWHD9mAjsGKu69fZ3HVxLptl611ox5CtCTVO/M0IWO08uv+JOEgdG
riZ/sKLjmx5yyO+ACtmZcT77s0NdW24g0RpI3lYWEJcgp4zDnZ7HQZGm1CwBxfAd
UghFfeR6cgvGR+M6+xYoyWkMi8YC
-----END PRIVATE KEY-----';//接收到请求参数
$query = $argv[1];
$query = urldecode($query);
//解密后的数据
$decrypt = '';
openssl_private_decrypt($query, $decrypt, $private);
//参数分割为数组
$params = [];
parse_str($decrypt, $params);
//验证签名
$sign = getSign($params);
if ($sign != $params['sign']) {throw new Exception('签名错误', 2001);
}
if (time() - $params['time'] > 600) {throw new Exception('请求超时', 4001);
}echo "success";/*** 获取签名** @param $params* @return string*/
function getSign($params)
{$token = ['1248995523'    => '范英刚',];//  移除signunset($params['sign']);//字典序ksort($params);//参数$query = http_build_query($params).$token[$params['appkey']];return md5($query);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Opencv 深度学习识别性别和检测年龄

目录 1基于CNN的性别分类建模原理 1.1 人脸识别 1.2 性别预测 1.3 年龄预测 1.4 结果 2 代码 参考 本教程中&#xff0c;我们将讨论应用于面部的深层学习的有趣应用。我们将估计年龄&#xff0c;并从单个图像中找出该人的性别。模型由GilLevi和TalHassner训练&#xff0…

Golang类型转换

类型转换 1、int转string strconv.Itoa(i)2、string转int i, err strconv.Atoi(s) 或者 i, err ParseInt(s, 10, 0) 3、string转float f, err ParseFloat(s, 32) 4、用户结构类型转换 userinfo : this.GetSession("userinfo")if userinfo nil {return}user : …

include和require区别

很多时候需要函数重用&#xff0c;引用其他文件中的函数。这时候就用到了以下几种方式。 include和require的区别&#xff1a; includerequire引用时在使用时候加载在初始时加载异常如果加载的文件不存在会报出一个警告程序继续运行加载的文件不存在会报出一个致命的错误 使用…

Ubuntu设置国内阿里云镜像源,加速apt-get下载速度

在VM虚拟机中安装了Ubuntu16.04LTS系统&#xff0c;通过apt或apt-get命令安装包&#xff0c;下载速度很慢&#xff0c;因为系统自带的下载源的服务器在国外。可以将下载源切换为国内的镜像源&#xff0c;比如说阿里云镜像&#xff0c;https://developer.aliyun.com/mirror/ubun…

结构体和联合体

结构体&#xff1a; 8个为一个内存地址 依次向下 联合体&#xff1a; 共用一块内存地址 调试可以gcc -g -o输出编译。然后gdb执行 d打断点。n下一行。p输出。查看每一个所占的内存地址 宏定义和使用 #define 宏名称 “实现什么东西” 大小端 可以自行判断自己电脑 摘自…

PowerDesigner导出Report通用报表

PowerDesigner导出Report通用报表 通用模板下载地址&#xff1a;http://pan.baidu.com/s/1c0NDphm

Log4j的应用实例

建一张表&#xff0c;如下&#xff1a; create table log4j( logId int not null auto_increment,--流水号 createDate varchar(45) default null,--日志生成时间 thread varchar(45) default null,--当前线程 level varchar(45) default null,--当前日志的级别 …

python-视频分帧多帧合成视频

1.视频分帧&#xff1a; import cv2vidcap cv2.VideoCapture(005.avi)success,image vidcap.read()count 0success Truewhile success:success,image vidcap.read()cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG fileif cv2.waitKey(10) …

Mysql5.0没有nvarchar,national

mysql采用utf-8编码,而传统的数据库采用unicode,一个汉字要用两个unicode的char,而在mysql中由于使用了utf-8,所以无论汉字还是字母,都是一个长度的char,所以就不用分nvarhcar和varchar了,一律作varchar

搭建nginx+php后访问不到项目

记在虚拟机搭建phpnginxmysql踩到的坑 首先因为工作原因&#xff0c;离开了上家公司&#xff0c;然后入职xx后&#xff0c;由于没有开发机只能自己搭建了一个虚拟机 搭建好后使用一键安装式工具安装了lnmp环境 之后访问nginx是可以访问通的&#xff0c;但是指定了项目目录却访问…

AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...

一、AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET SOA中间Socket/Tcp框架进行了总体的介绍&#xff0c;我们知道 AgileEAS.NET SOA中间件Socket/Tcp框架是一套Socket通信的消息中间件&…

小程序如何跳转到各大电商小程序进行CPS赚钱

小程序系统广告门槛高&#xff0c;流量主费用低&#xff0c;个人开发者难以变现。电商CPS也是一种不错的变现方式&#xff0c;在自己的小程序内添加购物优惠导航入口。自己小程序的用户通过导航跳转到电商平台&#xff0c;进行购物&#xff0c;购物完成结算后&#xff0c;作为开…

mysql default unix_timestamp(now())

按照mssql的创建方式&#xff0c;去创建mysql的默认值时间戳是不能被允许的&#xff0c;例如下面代码&#xff1a; CREATE TABLE USERINFO(CREATETIME INT NOT NULL DEFAULT UNIX_TIMESTAMP())是不能被通过的&#xff0c;因为mysql默认值只能支持常量&#xff0c;变量的不被允许…

安装composer以及laravel框架

Linux系统下安装laravel框架 在linux系统下安装laravel&#xff1a; 1.下载到windows系统下&#xff0c;使用FTP(FileZilla是一种快速、可信赖的FTP客户端以及服务器端开放源代码程式&#xff0c;具有多种特色、直接的接口。FileZilla在2002年11月获选为当月最佳推荐专案.)上传…

创业型软件公司的心得

我在两家创业公司工作过。A公司&#xff0c;由3人发展到20人&#xff1b;B公司&#xff0c;由20人发展到60人。这两家公司都不算成功&#xff0c;因此&#xff0c;要讲收获&#xff0c;更多的是经验与教训。就如同教材一样&#xff0c;反面教材更加有教育意义。我针对创业公司面…

NPM使用前设置和升级

升级版本npm3和切换模块数据源为taobao&#xff0c;大大提高下载速度。 步骤一&#xff1a;升级npm3默认npm为2.x推荐使用npm3. npm i -g npm3 步骤二&#xff1a;修改npm数据源为taobao&#xff08;默认国外数据源&#xff0c;性能非常低&#xff09; npm config set registry…

200多套微信小程序源码带后台+教程+源码

去下面论坛找更多 http://bbs.raydonet.com/forum.php 微信小程序疯狂猜成语小程序源码UI美观 知识答题类小程序源码 200多套微信小程序源码带后台教程源码 校园小情书小程序前端后端源码 微信版flappybird小游戏源码下载&#xff0c;经典像素鸟小游戏源码 [小游戏源码] …

java中关于length的真确理解~~~~有补充的请跟帖~~~

java中的length到底是个什么东西呢&#xff1f;有人说它是一个类&#xff0c;一个方法&#xff0c;如果是方法&#xff0c;它没有括号&#xff0c; 我只知道它可以得出数组的长度&#xff0c;但是今天遇到一段代码&#xff0c;怎么都解释不通&#xff0c;那就是绝对不会把循环的…

es6分享——变量的解构赋值

变量的解构赋值&#xff1a;ES6 允许按照一定模式&#xff0c;从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为解构&#xff08;Destructuring&#xff09;。 以前的写法&#xff1a; var a 1;var b 2;es6允许的写法&#xff1a; let [a,b] [1,2];一般…

Python Windows发出警报声、蜂鸣器、声音报警

在Windows上 import winsound duration 1000 # millisecond freq 1440 # Hz winsound.Beep(freq, duration) 其中&#xff0c;FREQ是频率(以赫兹为单位)&#xff0c;而持续时间是毫秒(毫秒)。 在Linux(和Mac)上 import os duration 1 # second freq 1440 # Hz os.s…