V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guanhui07  ›  全部回复第 6 页 / 共 106 页
回复总数  2111
1 ... 2  3  4  5  6  7  8  9  10  11 ... 106  
133 天前
回复了 guanhui07 创建的主题 Android 现在的安卓比 ios 好用
之前我也果粉,现在除非 mac 不喜欢 apple
133 天前
回复了 guanhui07 创建的主题 Android 现在的安卓比 ios 好用
安卓我也开了虚拟返回键 很稳,不喜欢手势
134 天前
回复了 bookcat 创建的主题 Android 有没有 酷安 平替的 app 呢?
奇妙应用
134 天前
回复了 guanhui07 创建的主题 小米 买了个红米 Redmi Note12 Turbo
@iamjerry 比较轻
134 天前
回复了 guanhui07 创建的主题 小米 买了个红米 Redmi Note12 Turbo
@erfeirufeng 装了个跳过广告的 软件 现在还行
已经关注,感谢~
支持一下
135 天前
回复了 Lax02s 创建的主题 iPhone 新款 iPhone SE 什么时候发布?
希望是 lcd
137 天前
回复了 theprimone 创建的主题 软件 TIM - QQ 办公简洁版寄了?
好久没有用
137 天前
回复了 shuiyingwuhen 创建的主题 Android 想入手一个新的安卓手机,求推荐
红米 note12t
137 天前
回复了 Alliot 创建的主题 买买买 双 11 决赛圈:雷鸟 75 寸与酷开 85 怎么选呢
雷鸟可以 性价比
140 天前
回复了 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 的就是不一样
149 天前
回复了 iPhoneilike 创建的主题 MacBook Pro 新 MacBook pro14 大降价!
挤牙膏的
都耍猴 现在价也差不多
1 ... 2  3  4  5  6  7  8  9  10  11 ... 106  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3341 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 13:24 · PVG 21:24 · LAX 06:24 · JFK 09:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.