V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zy445566  ›  全部回复第 29 页 / 共 36 页
回复总数  711
1 ... 21  22  23  24  25  26  27  28  29  30 ... 36  
2019-06-25 13:23:16 +08:00
回复了 YueZhang 创建的主题 职场话题 10105,已经 4 个月了,真的有点累了,有点想辞职了。
我每天通勤 2 小时都过来了,7 点起床,23 点到家,一周 5 天,目前已经坚持了两年
2019-06-23 20:24:05 +08:00
回复了 Tomotoes 创建的主题 求职 写了两天的简历,麻烦大家看一下有什么不足的地方
吓死了,看错了。。。
2019-06-23 20:23:25 +08:00
回复了 Tomotoes 创建的主题 求职 写了两天的简历,麻烦大家看一下有什么不足的地方
。。。同是 16 年毕业,你比我小 5 岁
2019-06-21 09:49:02 +08:00
回复了 Akiyu 创建的主题 随想 你同意有"转语言"这种说法么?
就好比前段时间有个 Java 说实现同样的功能肯定比我 node 快,结果实现个斐波那契,结果我用通项公式吊打他 JAVA 写的递归算法一百条街。
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 源码来实现。

你可能还不是很明白什么是私钥原值,所以你才会纠结随机问题,而这个原值是可以完全自己写一个自己喜欢的。
1 ... 21  22  23  24  25  26  27  28  29  30 ... 36  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2418 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 03:06 · PVG 11:06 · LAX 20:06 · JFK 23:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.