You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
<?php
|
|
|
|
|
namespace LaneWeChat\Core\Aes; // 定义命名空间,用于组织代码
|
|
|
|
|
|
|
|
|
|
class SHA1 // 定义SHA1类
|
|
|
|
|
{
|
|
|
|
|
// getSHA1方法,用于生成SHA1哈希值
|
|
|
|
|
public function getSHA1($token, $timestamp, $nonce, $encrypt_msg)
|
|
|
|
|
{
|
|
|
|
|
try {
|
|
|
|
|
// 创建一个数组,包含加密消息、Token、时间戳和随机数
|
|
|
|
|
$array = array($encrypt_msg, $token, $timestamp, $nonce);
|
|
|
|
|
|
|
|
|
|
// 对数组元素进行字符串排序
|
|
|
|
|
sort($array, SORT_STRING);
|
|
|
|
|
|
|
|
|
|
// 将数组元素连接成一个字符串
|
|
|
|
|
$str = implode($array);
|
|
|
|
|
|
|
|
|
|
// 生成该字符串的SHA1哈希值并返回
|
|
|
|
|
return array(ErrorCode::$OK, sha1($str));
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
// 如果发生异常,返回错误码和null值
|
|
|
|
|
return array(ErrorCode::$ComputeSignatureError, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
?>
|