Skip to content
Icaruk edited this page Sep 21, 2020 · 13 revisions

Run it yourself: npm install bcrypt && node tests/bench.

bcrypt.js 2.4.2 compared to bcrypt 1.0.2 on node v6.9.1, Intel Core i7-2600K, Win 10:

Using 8 rounds

Salt: $2a$08$4q/B.km2lR7ALNbzbtRLCO

  • bcrypt sync: 20.316ms $2a$08$4q/B.km2lR7ALNbzbtRLCO.edJil30mD2IulpiBeIFWmOXDeNAoj2
  • bcrypt.js sync: 25.286ms $2a$08$4q/B.km2lR7ALNbzbtRLCO.edJil30mD2IulpiBeIFWmOXDeNAoj2
  • bcrypt async: 20.530ms $2a$08$4q/B.km2lR7ALNbzbtRLCO.edJil30mD2IulpiBeIFWmOXDeNAoj2
  • bcrypt.js async: 27.252ms $2a$08$4q/B.km2lR7ALNbzbtRLCO.edJil30mD2IulpiBeIFWmOXDeNAoj2

Using 9 rounds

Salt: $2a$09$ttVW/bV2jZrHe8ZNZ9Qvn.

  • bcrypt sync: 40.981ms $2a$09$ttVW/bV2jZrHe8ZNZ9Qvn.Xz.NS9Q4FhiQEpbXt37FYxKn.PxxcCq
  • bcrypt.js sync: 50.628ms $2a$09$ttVW/bV2jZrHe8ZNZ9Qvn.Xz.NS9Q4FhiQEpbXt37FYxKn.PxxcCq
  • bcrypt async: 39.863ms $2a$09$ttVW/bV2jZrHe8ZNZ9Qvn.Xz.NS9Q4FhiQEpbXt37FYxKn.PxxcCq
  • bcrypt.js async: 50.612ms $2a$09$ttVW/bV2jZrHe8ZNZ9Qvn.Xz.NS9Q4FhiQEpbXt37FYxKn.PxxcCq

Using 10 rounds

Salt: $2a$10$7t7Szxltb34C809HHha0Cu

  • bcrypt sync: 79.349ms $2a$10$7t7Szxltb34C809HHha0CuDCwtJ7XH28kjA.fzKr42ZnYCX3I1Bkm
  • bcrypt.js sync: 100.578ms $2a$10$7t7Szxltb34C809HHha0CuDCwtJ7XH28kjA.fzKr42ZnYCX3I1Bkm
  • bcrypt async: 81.540ms $2a$10$7t7Szxltb34C809HHha0CuDCwtJ7XH28kjA.fzKr42ZnYCX3I1Bkm
  • bcrypt.js async: 100.628ms $2a$10$7t7Szxltb34C809HHha0CuDCwtJ7XH28kjA.fzKr42ZnYCX3I1Bkm

Using 11 rounds

Salt: $2a$11$aE9ftJJInzmwhivJsXPlVO

  • bcrypt sync: 159.187ms $2a$11$aE9ftJJInzmwhivJsXPlVOqFwyv2ylPfiUTV8JAhRyYYTrPZUDnhG
  • bcrypt.js sync: 202.520ms $2a$11$aE9ftJJInzmwhivJsXPlVOqFwyv2ylPfiUTV8JAhRyYYTrPZUDnhG
  • bcrypt async: 159.187ms $2a$11$aE9ftJJInzmwhivJsXPlVOqFwyv2ylPfiUTV8JAhRyYYTrPZUDnhG
  • bcrypt.js async: 200.926ms $2a$11$aE9ftJJInzmwhivJsXPlVOqFwyv2ylPfiUTV8JAhRyYYTrPZUDnhG

Using 12 rounds

Salt: $2a$12$pLNimIrfD/I17ZrqWn/sv.

  • bcrypt sync: 319.607ms $2a$12$pLNimIrfD/I17ZrqWn/sv.Hkc2WAt1Jxg490ua/cML6r27qK2eABe
  • bcrypt.js sync: 404.098ms $2a$12$pLNimIrfD/I17ZrqWn/sv.Hkc2WAt1Jxg490ua/cML6r27qK2eABe
  • bcrypt async: 320.045ms $2a$12$pLNimIrfD/I17ZrqWn/sv.Hkc2WAt1Jxg490ua/cML6r27qK2eABe
  • bcrypt.js async: 404.179ms $2a$12$pLNimIrfD/I17ZrqWn/sv.Hkc2WAt1Jxg490ua/cML6r27qK2eABe

Using 13 rounds

Salt: $2a$13$WTDC1h8iJ2YayMG8Os5y/O

  • bcrypt sync: 637.774ms $2a$13$WTDC1h8iJ2YayMG8Os5y/OzgFiSr1Fy9mcru6.zZVc7ONZXSXyKQ6
  • bcrypt.js sync: 805.466ms $2a$13$WTDC1h8iJ2YayMG8Os5y/OzgFiSr1Fy9mcru6.zZVc7ONZXSXyKQ6
  • bcrypt async: 637.713ms $2a$13$WTDC1h8iJ2YayMG8Os5y/OzgFiSr1Fy9mcru6.zZVc7ONZXSXyKQ6
  • bcrypt.js async: 801.929ms $2a$13$WTDC1h8iJ2YayMG8Os5y/OzgFiSr1Fy9mcru6.zZVc7ONZXSXyKQ6

Using 14 rounds

Salt: $2a$14$8trqizogPghXMLQ4E4f0De

  • bcrypt sync: 1281.742ms $2a$14$8trqizogPghXMLQ4E4f0Devl1OlVHpjro5lHMpkXje7ugYfIDaAVq
  • bcrypt.js sync: 1604.165ms $2a$14$8trqizogPghXMLQ4E4f0Devl1OlVHpjro5lHMpkXje7ugYfIDaAVq
  • bcrypt async: 1274.554ms $2a$14$8trqizogPghXMLQ4E4f0Devl1OlVHpjro5lHMpkXje7ugYfIDaAVq
  • bcrypt.js async: 1605.661ms $2a$14$8trqizogPghXMLQ4E4f0Devl1OlVHpjro5lHMpkXje7ugYfIDaAVq

Using 15 rounds

Salt: $2a$15$9YsJmUyVpR3pSQEzeyGud.

  • bcrypt sync: 2549.556ms $2a$15$9YsJmUyVpR3pSQEzeyGud.O5qpxqhn.UG8iHJ1znEUBeYT0c9E0ue
  • bcrypt.js sync: 3209.233ms $2a$15$9YsJmUyVpR3pSQEzeyGud.O5qpxqhn.UG8iHJ1znEUBeYT0c9E0ue
  • bcrypt async: 2555.483ms $2a$15$9YsJmUyVpR3pSQEzeyGud.O5qpxqhn.UG8iHJ1znEUBeYT0c9E0ue
  • bcrypt.js async: 3209.987ms $2a$15$9YsJmUyVpR3pSQEzeyGud.O5qpxqhn.UG8iHJ1znEUBeYT0c9E0ue