PHP哈希签名方式sha1和sha256用于API对接签名验证

sha1 (长度40字节)


$str = '203fpid';

sha1 = sha1(str);

echo $sha1.'<br>';

php sha256加密 (长度64)


$str = '203fpidf02lvj!!@#!';

sha256 = hash('sha256',str);

echo $sha256.'<br>';

/** 生成签名(哈希sha256 64位)

* @param $data

* @return false|string

*/

public function _sign($data){

data = array_filter(data);

ksort($data);

$temps = [];

foreach (data as key => $value) {

temps\[\] = sprintf('%s=%s', key, $value);

}

signBefore = this->app_secret.implode('&', $temps);

return hash('sha256',$signBefore);

}

相关推荐
叼烟扛炮21 分钟前
C++ 知识点18 内部类
开发语言·c++·算法·内部类
TAN-90°-42 分钟前
Java 3——getter和setter super()关键字
java·开发语言
wand codemonkey42 分钟前
(二十七)Maven(依赖)【安装】+【项目结构】
java·开发语言·maven
linda公馆44 分钟前
Maven项目报错:java:错误:不支持发行版本 5
java·开发语言·maven
Ulyanov1 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 可视化革命——基于 PyVista 的 3D 战场构建与实时渲染
开发语言·python·算法·3d·系统仿真
Heaphaestus,RC1 小时前
Slate到UMG的封装原理揭秘
开发语言·ue5
爱喝热水的呀哈喽1 小时前
一段即插即用的hypermesh命令行
开发语言·python
Ulyanov1 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 终极试炼——全链路综合仿真与蒙特卡洛打靶
开发语言·python·系统仿真·雷达电子对抗
@大迁世界1 小时前
45.什么是内联条件表达式(inline conditional expressions)?在事件处理里怎么用?
开发语言·前端·javascript·react.js·ecmascript
游乐码2 小时前
UnityGUI(五)GUI控件综合使用
开发语言·unity·c#