PHP RSA算法 HMAC-SHA1加密算法
2024-08-29 12:15:48
HMAC-SHA1加密算法
function getSignature($str, $key) {
$signature = "";
if (function_exists('hash_hmac')) {
$signature = base64_encode(hash_hmac("sha1", $str, $key, true));
} else {
$blocksize = 64;
$hashfunc = 'sha1';
if (strlen($key) > $blocksize) {
$key = pack('H*', $hashfunc($key));
}
$key = str_pad($key, $blocksize, chr(0x00));
$ipad = str_repeat(chr(0x36), $blocksize);
$opad = str_repeat(chr(0x5c), $blocksize);
$hmac = pack(
'H*', $hashfunc(
($key ^ $opad) . pack(
'H*', $hashfunc(
($key ^ $ipad) . $str
)
)
)
);
$signature = base64_encode($hmac);
}
return $signature;
}
php openssl(SHA1WithRSA) 签名 验签
签名:
public function wjSign($data){
$key = openssl_pkey_get_private(file_get_contents($this->privateKeyPathWJ));
openssl_sign($data, $sign, $key, OPENSSL_ALGO_SHA1);
$sign = base64_encode($sign);
return $sign;
}
验签:
public function wjVerify($data, $sign){
$sign = base64_decode($sign);
$key = openssl_pkey_get_public(file_get_contents($this->publicKeyPathWJ));
$result = openssl_verify($data, $sign, $key, OPENSSL_ALGO_SHA1) === 1;
return $result;
}
最新文章
- codevs 1015 计算器的改良 2000年NOIP全国联赛普及组
- Java接口之间的继承
- 前台js分页,自己手写逻辑2
- Postman的使用
- poj1012约瑟夫
- 二级c程序设计题(1)
- POJ 1777 mason素数
- SSH框架中配置Hibernate使用proxool连接池
- 梳理一下uboot是如何从nandflash挂载文件系统的
- CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
- MonoDeveloper 快捷键
- JQuery之动画与特效
- Asp.Net Core 轻松学-一行代码搞定文件上传
- Spring Boot 打war包后自定义404页面不生效解决方法
- java 通过域名获取ip
- 自制操作系统Antz(4)——进入保护模式 (下) 实现内核并从硬盘载入
- 20175234 2018-2019-2 《Java程序设计》第四周学习总结
- Vue 安装脚手架 工具 vue-cli (最新)
- webpack8--删除dist目录,压缩分离后的CSS
- QT-This application failed to start because it could not find or load the Qt platform plugin ";windows";
热门文章
- centos 7 官网安装 PostgreSQL
- UITableViewCell的多选操作
- Bitmaps
- spring 'arroudAspect' for bean class [com.dw.test.ArroudAspect] conflicts with existing, non-compatible bean definition of same name and class [com.dw.aspect.ArroudAspect]
- java语言中Object对象的hashCode()取值的底层算法是怎样实现的
- visual studio for mac 安装文件
- Compiling: main.cpp /bin/sh: g++: not found
- python增删改查zabbix主机等
- wordpress,cos-html-cache静态化后,点击数失效问题的解决方案
- [转]BFC 神奇背后的原理