JavaScript中的sCrypt实现?

11

有人之前问过关于JavaScript实现bCrypt的问题,看起来他们已经编写了自己的代码来处理实现。有人有JavaScript中sCrypt的实现吗?


我甚至找不到任何C语言的实现.. http://news.ycombinator.com/item?id=2004962 使用bcrypt时.. 自担风险.. - c69
并不是我更喜欢 scrypt 而不是 bcrypt,而是我正在与一个已经使用 scrypt 的现有项目进行接口。如果可以选择,我会使用 bcrypt,但现在不行 :P - David Perry
好的,如果你有代码访问权限的话,开始移植它吧 :D - c69
3
这是一个开源项目,但也是一个分布式项目,所以除非我能让整个用户网络中51%或更多的用户切换到我的移植代码,否则我的移植代码就不值太多。 - David Perry
7个回答

15

1
就是这样。使用 https://github.com/tonyg/js-scrypt。 - Bob Aman

5
如果您谈论的是tenebrix,那么对于设定的目标,选择scrypt比bcrypt更好。到目前为止,我只找到了一个不完整的javascript实现scrypt,并在搜索时找到了这个页面。目前为止,我只找到了https://github.com/byrongibson/scrypt-js,而https://github.com/cheongwy/node-scrypt-js似乎还没有代码。猜测因为某种新原因,我不能像我想的那样在上面进行评论,唉。

实际上我在谈论Tenebrix。我曾考虑过构建一个JavaScript矿工,但是我不够精通JavaScript,不能从头开始实现任何类型的加密。 - David Perry
我猜这已经是最好的结果了。我会关注这个项目,看它是否能够实现。谢谢! - David Perry

4

2

1

0

-1

Tony 在 Chrome 上表现出色,Chrome 的 JS 执行速度比 CryptSharp 的 SCrypt 快 16384 倍。Chrome 大约需要 200ms,而 CryptSharp 需要 450ms。

问题在于,IE 需要高达 24 秒的时间,而 FF 则需要高达 16 秒。

不幸的是,并非所有的浏览器都是平等的。


安德鲁,我很好奇:这个基准测试是针对CryptSharp 1.2还是2.0的?谢谢。 - James
CryptSharp(官方版本)在NuGet上,Id:CryptSharpOfficial Version:2.0 发布日期:2013年5月8日。 - Andrew Hoffman
嗯,我在想还有什么可以优化的。核心循环已经展开了。令人惊讶的是,JavaScript 实现可以如此之快。 - James
请记住,Chrome的JS引擎非常出色,这也是Node.js基于它的原因。它不是普通的JS引擎。 http://en.wikipedia.org/wiki/V8_(JavaScript_engine) 好的,V8在执行之前将JavaScript编译为机器码,这就是原因。 - Andrew Hoffman
然后它使用“内联、省略、内联缓存”和其他巫术技术来优化您的代码。基本上,它们会接管您的JS并使其更好。 - Andrew Hoffman
不要难过,@Zer,这似乎是一个常见的问题。为什么Node.js中的V8比我的本地C++插件中的V8更快? - Andrew Hoffman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接