V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guanhui07  ›  全部回复第 7 页 / 共 106 页
回复总数  2117
1 ... 3  4  5  6  7  8  9  10  11  12 ... 106  
@sujin190 #6 我的小例子 写错了

```php
<?php
$sudAppId = '1719669845797171201';
$sudTimestamp = '1698912908000';
$sudNonce = 'lFM9MKckbGYiZAQG';
$body = '{"platform":2}';
$signContent = $sudAppId . '\n' . $sudTimestamp . '\n'
. $sudNonce . '\n' . $body .'\n';

$appSecret = 'test';
$sign = hash_hmac('sha1', $signContent, $appSecret,false);
echo $sign;
```

这种也不行 , 试了下 sign 出来 和 java node golang 的 不一致


```golang

package main

import (
"crypto/hmac"
"crypto/sha1"
"fmt"
)

func main() {
// 应用 ID
var appId = "1719669845797171201"
// 应用 secret
var appSecret = "test"
// 请求时间戳(发送请求的时间戳)
var timestamp = "1698912908000"
// 随机字符串 (自定义随机字符串)
var nonce = "lFM9MKckbGYiZAQG"
// 请求 body (请求 body , 需保证发送方与接收方的数据一致,建议在拦截器里做对应认证)
var body = "{\"platform\":2}"

// 签名串
signContent := fmt.Sprintf("%s\n%s\n%s\n%s\n", appId, timestamp, nonce, body)
// 签名值
mac := hmac.New(sha1.New, []byte(appSecret))
mac.Write([]byte(signContent))
signature := mac.Sum(nil)
//t.Logf("signature:%x", signature)
test, _ := fmt.Printf("signature:%x", signature)
fmt.Println(test)
}



```

golang 的可以
@guanhui07 #3 nodejs 写出来了,php 写的不行。。
```nodejs

const Crypto = require('crypto');

function signTest() {
let appId = '1719669845797171201';
let appSecret = 'test';
let timestamp = '1698912908000';
let nonce = 'lFM9MKckbGYiZAQG';
let body = '{"platform":2}';
let signContent = appId + '\n' + timestamp + '\n' + nonce + '\n' + body + '\n';
let hmac = Crypto.createHmac('sha1', appSecret);
let signature = hmac.update(signContent).digest('hex');
console.log(signature);
}
````

php 写出来了 结果 和 java 一样
@cian #1 问过了 就我上面粘贴的那个 差不多的 就是生成的 签名和 java nodejs 的就是不一样
196 天前
回复了 iPhoneilike 创建的主题 MacBook Pro 新 MacBook pro14 大降价!
挤牙膏的
都耍猴 现在价也差不多
199 天前
回复了 hero158 创建的主题 生活 36 岁一事无成,是不是非常失败
挺难的 差不多
用过
225 天前
回复了 yhm2046 创建的主题 问与答 背什么包看起来不像程序员?
要装的像体制内的不容易
225 天前
回复了 zyxcompany 创建的主题 职场话题 想辞职,但是不知道怎么开口
直接说明不愿意做就好了
252 天前
回复了 richangfan 创建的主题 编程 PHP 太坑了,一直走下坡路不是没有原因的
自己基础不过关还怪语言,贻笑大方了
253 天前
回复了 devliu1 创建的主题 程序员 续费压力太大,出一些域名
之前有几十个 后面我都不要了。
255 天前
回复了 Bourne115 创建的主题 问与答 大佬们,现在买房就一定要维权吗?
不是烂尾就豆腐渣工程 现在的房子,公摊又大
255 天前
回复了 chevalier 创建的主题 宽带症候群 求推荐装修预埋光纤
一头剪掉 扔弱电箱那,一头不剪掉放 穿过去 可以的不
举报
人生很精彩
269 天前
回复了 windyCity1 创建的主题 问与答 3~ 5 万能买到啥样的二手车啊。
@laLuna #20 14 年的高尔夫 自动 1.6 车贩报价 4w 多 好贵
279 天前
回复了 luvsic 创建的主题 汽车 你买车最看重什么?
省油 省心售后
287 天前
回复了 afei9722 创建的主题 程序员 关于 26 岁辞职去读全日制本科这件事
专升本,现在专科很难找工作了
1 ... 3  4  5  6  7  8  9  10  11  12 ... 106  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3374 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 12:39 · PVG 20:39 · LAX 05:39 · JFK 08:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.