V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nashaofu  ›  全部回复第 1 页 / 共 3 页
回复总数  56
1  2  3  
9 天前
回复了 0x5c0f 创建的主题 Linux 推荐一个适合手机的 ssh 客户端
自己开发了一个,目前处于能用的水平 https://github.com/shell360/release
10 天前
回复了 Leon6868 创建的主题 程序员 现代化 SSH 客户端求推荐
25 天前
回复了 Edsie 创建的主题 SSH 有什么能很好管理 ssh 连接的工具吗
165 天前
回复了 xindefenggan 创建的主题 Chrome chrome 浏览器为什么要自己旋转啊?
@mikewang 真是什么吊图都有
https://github.com/screego/server 这个能否满足需求?
不是很懂的情况不建议开放公网,使用 tailscal 这些方案一样可以
238 天前
回复了 sworld233 创建的主题 开源软件 开源项目得到了第一笔捐赠
最近也收到 400 刀 GitHub 赞助,同提现比较麻烦
@OutOfMemoryError 港币账号能转入钱就算激活了吧,然后会有卡号吗,能正常用来收 githu stripe 里面的钱吧
@alanhe421 好像现在都要到港才行了把
@zwpaper 项目真不错
@ncepuzs 我看看
@OutOfMemoryError wise 大陆用户有啥特别要求吗
@alanhe421 港卡现在办很麻烦,必须到香港
@HiiCash 英国公司很麻烦吧
261 天前
回复了 nashaofu 创建的主题 C++ electron 内核 windows debug 求助
@ysc3839 感谢,已经搞定,修改 src\electron\build\args\testing.gn 中 symbol_level=2 即可
262 天前
回复了 nashaofu 创建的主题 C++ electron 内核 windows debug 求助
@ysc3839 调试符号怎么弄呢?目前断点能成功了,但是不能在控制台看到变量值,变量面板也没有任何变量
263 天前
回复了 nashaofu 创建的主题 C++ electron 内核 windows debug 求助
launch.json 修改一下 sourceFileMap 后,可以断点调试了,但是在调试面板中不能显示变量,鼠标悬浮到变量上也不能显示变量值,在调试控制台中,也不能输出值。
```
"sourceFileMap": {
"o:\\": "${workspaceFolder}/src"
}
```
https://imgur.com/a/KBirtw4
305 天前
回复了 wu67 创建的主题 NGINX Nginx 有办法对特定 ua 的请求进行速度限制吗
两个功能都有的吧,组合下就可以用,if $http_user_agent ~* "ua" {}
341 天前
回复了 zhuoyue100 创建的主题 程序员 帮忙推荐一款云笔记软件吧?
affine 开源版
@huntzhan 简单原理:
1. 服务器生成一个 secret ,
2. OTP 客户端根据 secret ,与一个计数器生成 HMAC-SHA1 摘要的 hash ,如果是 TOTP ,计数器就是时间戳 / 30 ,所以我们通常会看到 TOTP 的 code 每 30 秒变化一次。hash 只有拥有 secret 的人才能生成出来,所以也就保证了安全性。
3. 由于 hash 太长,不利于输入,所以通常会把 hash 转换为 6 位的数字,方便用户输入。转换方法为:取摘要结果最后一个字节的低 4 位,作为偏移值,然后以该偏移值为下标,从摘要中取从下标为该偏移值开始的 4 个字节,把这几个字节的内容转换为数字。然后把数字转换为 6 位字符串,不足 6 位,前面补 0 。
```
let hash = algorithm.digest(&secret, &counter.to_be_bytes())?;
let offset: usize = (hash[hash.len() - 1] & 0xf) as usize;

let binary = ((hash[offset] as u64) & 0x7f) << 24
| ((hash[offset + 1] as u64) & 0xff) << 16
| ((hash[offset + 2] as u64) & 0xff) << 8
| ((hash[offset + 3] as u64) & 0xff);

let mut token = (binary % 10_u64.pow(digits)).to_string();

while token.len() < (digits as usize) {
token = format!("0{}", token);
}
```

完整代码可以参考这里: https://github.com/nashaofu/anyotp/blob/master/src/utils.rs
相关 RFC 参考: https://datatracker.ietf.org/doc/html/rfc4226#section-5.1
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2573 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 06:42 · PVG 14:42 · LAX 22:42 · JFK 01:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.