V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guanhui07  ›  全部回复第 7 页 / 共 107 页
回复总数  2121
1 ... 3  4  5  6  7  8  9  10  11  12 ... 107  
229 天前
回复了 shuiyingwuhen 创建的主题 Android 想入手一个新的安卓手机,求推荐
红米 note12t
229 天前
回复了 Alliot 创建的主题 买买买 双 11 决赛圈:雷鸟 75 寸与酷开 85 怎么选呢
雷鸟可以 性价比
232 天前
回复了 bkzly83851 创建的主题 硬件 买了个外贸电视盒子
@bkzly83851 哪里买的 推荐 下
在某位大佬指点下解决了
@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 的就是不一样
241 天前
回复了 iPhoneilike 创建的主题 MacBook Pro 新 MacBook pro14 大降价!
挤牙膏的
都耍猴 现在价也差不多
244 天前
回复了 hero158 创建的主题 生活 36 岁一事无成,是不是非常失败
挺难的 差不多
用过
270 天前
回复了 yhm2046 创建的主题 问与答 背什么包看起来不像程序员?
要装的像体制内的不容易
270 天前
回复了 zyxcompany 创建的主题 职场话题 想辞职,但是不知道怎么开口
直接说明不愿意做就好了
297 天前
回复了 richangfan 创建的主题 编程 PHP 太坑了,一直走下坡路不是没有原因的
自己基础不过关还怪语言,贻笑大方了
298 天前
回复了 devliu1 创建的主题 程序员 续费压力太大,出一些域名
之前有几十个 后面我都不要了。
299 天前
回复了 Bourne115 创建的主题 问与答 大佬们,现在买房就一定要维权吗?
不是烂尾就豆腐渣工程 现在的房子,公摊又大
300 天前
回复了 chevalier 创建的主题 宽带症候群 求推荐装修预埋光纤
一头剪掉 扔弱电箱那,一头不剪掉放 穿过去 可以的不
举报
1 ... 3  4  5  6  7  8  9  10  11  12 ... 107  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2572 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 59ms · UTC 11:28 · PVG 19:28 · LAX 04:28 · JFK 07:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.