2017-05-14 22 views
0

我是meteorJS的新手,我正在學習一個建議使用流星用戶登錄設置的命令(命令是:meteor add accounts-ui accounts-password),這看起來與passport或devise(對於ruby)類似。但我收到警告:MeteorJS Bcrypt vs純Javascript Bcrypt?速度和安全

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更安全嗎?我如何測試這個?

+0

現在這很有趣,它發生在我昨天。我試圖'''流星添加npm-bcrypt''',但我一直有這個問題要求我安裝直接NPM包。我對結果感興趣。你有沒有試過流星包? – TheBilTheory

回答

1

3倍的速度差異並沒有實質性差異,相比之下,Bcrypt應該消耗大約100ms或計算時間,而對於散列來說,相比之下幾微秒。這完全是關於消耗計算時間,而不僅僅是散列。

+0

特別重要的考慮因素,如果你運行你的流星應用程序的基礎設施,通過計算,這是非常普遍的現在計算。 – Jankapunkt

+0

重要的考慮因素是安全性,它是通過散列創建安全性所需的CPU時間。所以,是的,你必須支付安全。如果你不願意付錢,那麼請告訴你的客戶你要便宜以保護他們。 – zaph