Low-Budget Password Strength Estimation (by dropbox)

Zxcvbn Alternatives

Similar projects and alternatives to zxcvbn

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better zxcvbn alternative or higher similarity.

zxcvbn reviews and mentions

Posts with mentions or reviews of zxcvbn. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-23.
  • Bitwarden Design Flaw
    5 projects | news.ycombinator.com | 23 Jan 2023
    We took a similar approach to passphrase stretching in EnvKey[1] v1 (EnvKey is a secrets manager, not a passwords manager, but uses end-to-end encryption in a similar way). We used PBKDF2 with iterations set a bit higher than the currently recommended levels, as well as Dropbox's zxcvbn lib to try to identify and block weak passphrases.

    Ultimately, I think it's just not good enough. Even if you're updating iteration counts automatically (which is clearly not a safe assumption, and to be fair not something we did in EnvKey v1 either), and even with safeguards against weak passphrases, using human-generated passphrases as a single line of defense is just fundamentally weak.

    That's why in EnvKey v2, we switched to primarily using high entropy device-based keys--a lot like SSH private keys, except that on Mac and Windows the keys get stored in the OS keychain rather than in the file system. Also like SSH, a passphrases can optionally be added on top.

    The downside (or upside, depending how you look at it) is that new devices must be specifically granted access. You can't just log in and decrypt on a new device with only your passphrase. But the security is much stronger, and you also avoid all this song and dance around key stretching iterations.

    1 - https://github.com/envkey/envkey

    2 - https://github.com/dropbox/zxcvbn

  • What We Do in the /etc./Shadow – Cryptography with Passwords
    3 projects | news.ycombinator.com | 6 Jan 2023
    > There's another end of all this that I also never see addressed in writeups like this one: lots of users are still really bad at passwords.

    Author here.

    I was originally planning to write a blog post about my experience reporting cryptography-related bugs to password managers in 2022. (I had findings for LastPass, 1Password, and Keeper.)

    My experience with LastPass was abysmal. I wrote a thread about it here: https://furry.engineer/@soatok/109560736140669727

    However, I found in my early draft that I spent a lot of time explaining these algorithms, so I decided to spin it off into a separate article. Thus, this post was conceived!

    > Readers capable of implementing something like OPAQUE will already have a pretty good handle on most of what's written here. All other developers will just grab whatever "the" off-the-shelf solution is for their language and tech stack, and any recommendations for those are conspicuously absent here. What are the best resources for the most popular tech stacks currently? PHP introduced the password_hash() function (and related functions) in its standard library a while back. It defaults to bcrypt, and most php devs should probably just use those functions, unless they're sure they know better.

    I tried to make the post a good balance of fun and informative, but the audience was "people who want to know more about cryptography with passwords" not specifically developers.

    As you indicated, if you're developing something, the password_hash() / password_verify() API your language provides is likely 1000x safer than rolling your own anything. If there is to be improvements in the cryptography for a given programming language, it should be an update to whatever the de facto standard library is for that language.

    PHP has the password extension built-in. Python has passlib. Node has the crypto module. Etc.

    > For a while, some misguided sites tried to prevent people from pasting passwords into their login forms. I have never seen the inverse: a site that prevents users from typing a password. Is there a reason that wouldn't work?

    I'm not confident in this, since it's 4:46 AM for me and I should probably be sleeping instead of reading HN comments, but isn't this exactly how Passkey is supposed to work?

    Anyway, thanks for your insightful feedback. I already planned a teardown into the reverse-engineered internals of popular password managers and my experiences with them. Because of your comment, I might also make a future blog post targeting developers.

    In the meantime, here's some cool stuff:

    https://github.com/dropbox/zxcvbn - A reasonable approach to password strength estimation (although I think their calculation needs updating in 2023)

    https://github.com/DivineOmega/password_exposed - Checks if a given password has been exposed in a previous breach (uses the HIBP hash database)

  • Password Strength Recommendations for 2023?
    2 projects | reddit.com/r/cybersecurity | 27 Dec 2022
    Did you hear about that one? https://github.com/dropbox/zxcvbn
  • Password Requirements: Myths and Madness
    2 projects | news.ycombinator.com | 22 Dec 2022
    The author links to a recommended library in the blog post


  • I made my first program, a password generator.
    3 projects | reddit.com/r/Python | 19 Nov 2022
    See also zxcvbn and original for the rationale.
  • This collecting personal data?
    2 projects | reddit.com/r/Database | 18 Oct 2022
  • Please stop forcing users to reset complex passwords
    3 projects | reddit.com/r/cybersecurity | 16 Aug 2022
    According to zxcvbn the following 12 character password lasts about 2 minutes at 10 billion hashes:
  • Pashword - FOSS Hashed Password Generator - Works without internet, Works anywhere, Never forget your passwords ever again.
    4 projects | reddit.com/r/opensource | 1 Aug 2022
    A integrated password strength checker could be useful , maybe adding keepassxc algorithm (which is open source).
  • 👂Tell us your thoughts about the Password Strength Testing Tool
    2 projects | reddit.com/r/Bitwarden | 27 Jul 2022
    It caps password strength at each character having 10 possible values. So a 8 character password is considered to be at most 108 possible values (about 24 bit) and is marked insecure. This is useless for me as I have lots of legacy randomly generated passwords from Keepass that have 56 bits of randomness (no way those can be brute forced) and these are all marked as very insecure, so I have no way in the report to identify actual insecure passwords. See eg https://github.com/dropbox/zxcvbn/issues/135
  • Is it safe to store credit card information in Bitwarden?
    2 projects | reddit.com/r/Bitwarden | 5 Apr 2022
    Interestingly, in doing research on trying to find a tool that measure password strenght (I didn't find one that measured it quite as accurately as I would have liked), I found actual research (another useful link) behind the tool that bitwarden uses in their online password strengther checker, I didn't bother to read it yet, but I'm sure it will answer a lot of questions I'm asking about the maths behind the proposition that using a sequence of random words is better than using a sequence of random letters.
  • A note from our sponsor - #<SponsorshipServiceOld:0x00007fea592de498>
    www.saashub.com | 3 Feb 2023
    SaaSHub helps you find the best software and product alternatives Learn more →


Basic zxcvbn repo stats
5 months ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives