V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zy445566  ›  全部回复第 29 页 / 共 36 页
回复总数  706
1 ... 21  22  23  24  25  26  27  28  29  30 ... 36  
2019-06-21 09:46:06 +08:00
回复了 Akiyu 创建的主题 随想 你同意有"转语言"这种说法么?
> 突然用其他语言的确会比较陌生, 但是其根本是没有多少改变的
> 你的思维逻辑, 计算机基础, 算法, 多年相关方向累积的经验都不会有多少动摇

我就是从 PHP 转 node 的,上面的话我非常同意。但是也不是完全没有优势,比如 node 比 PHP 更方便去做客户端比如 web,APP,桌面应用,而且当年 PHP 实现常驻是有一定门槛,node 几乎是无门槛,包括包管理 composer 当年真的比 npm 差太多,在必要的场景下,体会到优势在必要的情况提前转确实是必要的。

同时我也认为如果是语言性能问题来转语言,大概率是错误的,很多人认为是语言提供了性能保障,但真正性能拉开差距的确实算法和数据结构,就比如很多说 redis 性能有多好,如果仅仅是因为 C 语言的话,如果换个傻子来写同样用 C,循环去遍历数据来实现又能快到哪去呢?
不可能观察的到的,上帝粒子哪能想看就看
2019-06-17 11:59:30 +08:00
回复了 cl903254852 创建的主题 Node.js 各位大佬, nodejs 如何连接远程服务器??
ansiable 这个可以干多台
2019-06-14 22:51:50 +08:00
回复了 yhxx 创建的主题 求职 [杭州]迫于生存,同求一份不加班的前端工作
@zy445566 node 和前端都可
2019-06-14 22:51:31 +08:00
回复了 yhxx 创建的主题 求职 [杭州]迫于生存,同求一份不加班的前端工作
同求真不加班,杭州仓前附近,薪资好说。
2019-06-13 08:40:47 +08:00
回复了 taishanwuji 创建的主题 杭州 我准备去杭州接盘了
社保淘宝补交不就好了
2019-06-12 22:12:03 +08:00
回复了 kppwp 创建的主题 杭州 请问杭州个推的工作环境?
@xiaohantx 有,但是简历要有其他亮点。
2019-06-12 22:09:20 +08:00
回复了 kppwp 创建的主题 杭州 请问杭州个推的工作环境?
@hcy1996 不太方便,因为刚刚离职
2019-06-12 18:01:50 +08:00
回复了 kppwp 创建的主题 杭州 请问杭州个推的工作环境?
看你是什么岗位,如果是大数据部门就是 macbook,如果是普通前后端开发就是 mac mini。
2019-06-10 18:02:46 +08:00
回复了 nebula0929 创建的主题 职场话题 深感自己视野狭小,犹豫很久的 offer 选择..
“其实我感觉这样技术流的公司并不多,类似当年的个推和友盟。”
这句话是指个推和友盟是技术流公司?
@strugglexiang
这个回复太伤人了
2019-06-05 14:09:34 +08:00
回复了 zy445566 创建的主题 程序员 觉醒 js 计算能力,浅谈加密学之椭圆加密算法
@moro 嗯,感谢阅读
2019-05-31 10:04:27 +08:00
回复了 zy445566 创建的主题 Node.js Bitcoin 公私钥是如何生成的
以上代码解析基于官方代码库: https://github.com/bitcoin/bitcoin
2019-05-31 09:58:10 +08:00
回复了 zy445566 创建的主题 Node.js Bitcoin 公私钥是如何生成的
@leishi1313
算了不知者无谓,给你讲一讲。
## 第一源码里的逻辑也不复杂,甚至和比我的还弱。
首先在 src/bitcoin-wallet.cpp 里面执行 main 函数里的 RandomInit 方法执行初始化钱包随机。在 src/random.cpp 的 RandomInit 方法里默认执行 SeedFast 来生成原值。
```cpp
static void SeedFast(CSHA512& hasher) noexcept
{
unsigned char buffer[32];
const unsigned char* ptr = buffer;
hasher.Write((const unsigned char*)&ptr, sizeof(ptr));
SeedHardwareFast(hasher);

SeedTimestamp(hasher);
}
```
在这个方法里就两个第一是随机生成原值再加个时间戳。加时间戳就不看了,看生成随机数。
```cpp
static void SeedHardwareFast(CSHA512& hasher) noexcept {
if (g_rdrand_supported) {
uint64_t out = GetRdRand();
hasher.Write((const unsigned char*)&out, sizeof(out));
return;
}
}
static uint64_t GetRdRand() noexcept
{
uint8_t ok;
uint64_t r1;
for (int i = 0; i < 10; ++i) {
__asm__ volatile (".byte 0x48, 0x0f, 0xc7, 0xf0; setc %1" : "=a"(r1), "=q"(ok) :: "cc"); // rdrand %rax
if (ok) break;
}
return r1;
}
```
这里我们只看比较新的架构生成,你可以看到这里直接调用了汇编的随机生成指令来生成。

所以说官方就俩点
* 用硬件生成了个随机码
* 再加个时间戳

就这样就给你了,`还真不如我的进行每位随机安全`。

## 第二黑客破解方法并不是通过私钥原值碰撞
黑客拿到的是地址,所以
* 首先要碰撞地址的 ripemd16 的值
* 再通过 ripemd16 去碰撞一个 sha256 的值
* 最后用 sha256 的值去反向减椭圆加密运算

再所以,从头到尾跟私钥原值没关系,懂么?`只要私钥原值位数够长就行`。这就是我一直说私钥原值没关系的原因。
2019-05-30 13:53:36 +08:00
回复了 zy445566 创建的主题 Node.js Bitcoin 公私钥是如何生成的
@leishi1313
我没有动气,是真的你可以自己写个私钥原值就好。64 位十六进制数在[1,n]范围内就好,我这里可以帮你加载成真正可以用的私钥。getPrivteOriginKeyByStr 和 getPrivteOriginKeyByRand 是完全可以不使用的,也是最没有技术的方法。

至于 random()并不是对整串随机,而是对原值的十六进制数的每一位进行随机。也就是说 random()几乎是在随机 0 到 15.随机 64 次,而不是做一次随机就出串。这是有很大差别的,同时 node 是读取 /dev/urandom 来实现随机,并不是你想的读库随机,这点也是有很大的不同。

一个私钥都是由私钥的原值产生,所以和硬件钱包没关系,我随机生成私钥原值就是故意不看 bitcoin-core 源码来实现,因为就是当心有人直接使用 bitcoin-core 源码来实现碰撞私钥,包括私钥通过私钥原值生成和公钥生成都参考了一定 bitcoin-core 源码来实现。

你可能还不是很明白什么是私钥原值,所以你才会纠结随机问题,而这个原值是可以完全自己写一个自己喜欢的。
2019-05-30 08:42:40 +08:00
回复了 zy445566 创建的主题 Node.js Bitcoin 公私钥是如何生成的
你要觉得安全,自己写个私钥原值就好。我这里可以根据原值生成私钥和地址。
2019-05-30 08:41:28 +08:00
回复了 zy445566 创建的主题 Node.js Bitcoin 公私钥是如何生成的
@leishi1313 呵呵,只是个大数选择,你自己也可以随便写一个私钥原值。硬件钱包也是要根据私钥原值。这点无区别。
我这边的安全是指无第三方 npm 依赖,代码简单一览无遗,不可能存在埋盗笔代码。
2019-05-29 16:23:55 +08:00
回复了 aker1986 创建的主题 问与答 有人吃过褪黑素吗?我吃了竟然不管用,一点都没有犯困阿.
敖东安神补脑液,我喝完第六盒就好多了。还有睡觉前不要玩手机
2019-05-29 16:22:20 +08:00
回复了 moodasmood 创建的主题 程序员 老是忘记带工牌,有啥办法不?
我的工牌直接放公司,到公司就带上,平时要进就等会人
2019-05-28 13:45:28 +08:00
回复了 witkeysu 创建的主题 职场话题 原来有那么多人不了解社保和公积金,我想简单说一说
支持!感谢科普
1 ... 21  22  23  24  25  26  27  28  29  30 ... 36  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2423 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 03:01 · PVG 11:01 · LAX 20:01 · JFK 23:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.