Hacker News new | past | comments | ask | show | jobs | submit login

I have a genuine question.

Why every online password manager (lilke lastpass, 1 pass etc) uses PBKDF2 instead of Argon2id, scrypt, bcrypt, Lyra2?




I would guess: age, code availability, inertia, and lack of benefit.

PBKDF2 is old, and had time to get adopted. Code is widely available for it, even included in many frameworks. Once you implemented something like this, unless it's really broken it's a lot of hassle to change it.

I fairly recently looked into implementing password hashing, and my requirement was that somebody already did the job for me, because I'm not a pro cryptographer and don't trust myself to do it right. So since Qt supports PBKDF2, PBKDF2 it is.

And Argon specifically is RAM hungry, which limits applications on things like low end virtual machines and mobile devices.


One thought is that it is explicitly mentioned in NIST recommendations.

If you were attempting formal compliance, that would be how to do it.


Lastpass and 1 pass launched before any of those existed except bcrypt. And I am guessing PBKDF2 was selected over bcrypt because its PBKDF2 just had more academic review.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: