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);

}

相关推荐
PingdiGuo_guo29 分钟前
C++指针(二)
开发语言·c++
Magnetic_h44 分钟前
【iOS】类结构分析
开发语言·笔记·学习·ios·objective-c
向哆哆1 小时前
Java 依赖管理工具:使用 Sonatype Nexus 管理项目依赖
java·开发语言
jay神1 小时前
基于Python+YOLO模型的手势识别系统
开发语言·python·深度学习·yolo·手势识别系统
陈天伟教授2 小时前
Web前端开发 - 制作简单的焦点图效果
java·开发语言·前端·前端开发·visual studio
不吃肘击2 小时前
MyBatisPlus使用教程
java·开发语言
阿方.9182 小时前
《C 语言内存函数超详细讲解:从 memcpy 到 memcmp 的原理与实战》
c语言·开发语言·c++
zeijiershuai2 小时前
Mybatis-入门程序、 数据库连接池、XML映射配置文件、MybatisX
xml·java·开发语言·mybatis
BanyeBirth2 小时前
C++滑动门问题(附两种方法)
开发语言·c++
一伦明悦დ3 小时前
嵌入式系统C语言编程常用设计模式---参数表驱动设计
c语言·开发语言·单片机·设计模式