MeteorJS Bcrypt vs Pure Javascript Bcrypt?速度与安全

时间:2017-05-14 17:12:58

标签: node.js meteor bcrypt

我是meteorJS的新手并且正在遵循建议使用meteor的用户登录设置(命令为:meteor add accounts-ui accounts-password)的教程,这看起来类似于护照或设计(对于ruby)。但我收到了警告:

W20170514-13:03:03.163(-4)? (STDERR) Note: you are using a pure-JavaScript implementation of bcrypt.
W20170514-13:03:04.713(-4)? (STDERR) While this implementation will work correctly, it is known to be
W20170514-13:03:04.714(-4)? (STDERR) approximately three times slower than the native implementation.
W20170514-13:03:04.714(-4)? (STDERR) In order to use the native implementation instead, run
W20170514-13:03:04.715(-4)? (STDERR) 
W20170514-13:03:04.716(-4)? (STDERR)   meteor npm install --save bcrypt
W20170514-13:03:04.716(-4)? (STDERR) 
W20170514-13:03:04.717(-4)? (STDERR) in the root directory of your application.

鉴于纯粹的javascript bcrypt比流星bcrypt慢,这会影响安全性吗?使用纯js bcrypt更安全吗?我该怎么测试呢?

2 个答案:

答案 0 :(得分:1)

3x的速度差异没有显着差异,Bcrypt应该消耗大约100ms或计算时间,而哈希只需几微秒。所有这些都只是消耗比计算哈希值多几个数量级的计算时间。

答案 1 :(得分:0)

在某些硬件上,JavaScript的实现速度会大大降低。我不得不在Raspberry上使用本机lib,因为JS lib只是使登录无法使用。

最好是在目标体系结构上进行测试,不要依赖估计。