Live data from Hacker News

Why Bcrypt Can Be Unsafe for Password Hashing?

blog.enamya.me

1–10 of 24 posts

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#2
Does this really need yet another blog post? 72 characters is more than enough to be resistant to brute-force attacks, as demonstrated by thousands of data breaches containing bcrypt hashes that remain uncracked (excluding the obvious top 1k passwords/ credential stuffing). In my personal opinion calling it "unsafe" is just fear mongering, especially in conjunction with a recommendation of using Argon2 which is comparatively very new and is probably safe - but once again, does not have the proven record that bcrypt does.

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#3

Does this really need yet another blog post? 72 characters is more than enough to be resistant to brute-force attacks, as demonstrated by thousands of data breaches containing bcrypt hashes that remain uncracked (excluding the obvious top 1k passwords/ credential stuffing). In my personal opinion calling it "unsafe" is just fear mongering, especially in conjunction with a recommendation of using Argon2 which is compa…

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit.

Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes.

I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#4

Does this really need yet another blog post? 72 characters is more than enough to be resistant to brute-force attacks, as demonstrated by thousands of data breaches containing bcrypt hashes that remain uncracked (excluding the obvious top 1k passwords/ credential stuffing). In my personal opinion calling it "unsafe" is just fear mongering, especially in conjunction with a recommendation of using Argon2 which is compa…

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit. Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes. I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

Does anyone actually use emoji as a password.

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#5

Does this really need yet another blog post? 72 characters is more than enough to be resistant to brute-force attacks, as demonstrated by thousands of data breaches containing bcrypt hashes that remain uncracked (excluding the obvious top 1k passwords/ credential stuffing). In my personal opinion calling it "unsafe" is just fear mongering, especially in conjunction with a recommendation of using Argon2 which is compa…

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit. Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes. I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

I still don't see how that's an issue, yes a password using a series of ridiculously complicated family emoji will be truncated but the actual bytes still provide entropy, just because the data doesn't use pixels when rendered doesn't mean it doesn't increase the search space

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#6

Does this really need yet another blog post? 72 characters is more than enough to be resistant to brute-force attacks, as demonstrated by thousands of data breaches containing bcrypt hashes that remain uncracked (excluding the obvious top 1k passwords/ credential stuffing). In my personal opinion calling it "unsafe" is just fear mongering, especially in conjunction with a recommendation of using Argon2 which is compa…

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit. Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes. I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

You could always pre-hash the password with sha256 or something similar to guarantee you won't go over the 72 byte limit.

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#7

Earlier quoted context omitted.

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit. Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes. I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

Does anyone actually use emoji as a password.

yea, me (pls dont crack)

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#8

Earlier quoted context omitted.

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit. Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes. I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

You could always pre-hash the password with sha256 or something similar to guarantee you won't go over the 72 byte limit.

I don't understand why this isn't a mandatory first step in the bcrypt algorithm itself. Who thought that a 72 byte limit was a good idea?

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#9
post #7

Earlier quoted context omitted.

Does anyone actually use emoji as a password.

yea, me (pls dont crack)

You could ask for your password to be removed from the list: https://github.com/danielmiessler/SecLists/pull/155

Re: Why Bcrypt Can Be Unsafe for Password Hashing?

#10

Does this really need yet another blog post? 72 characters is more than enough to be resistant to brute-force attacks, as demonstrated by thousands of data breaches containing bcrypt hashes that remain uncracked (excluding the obvious top 1k passwords/ credential stuffing). In my personal opinion calling it "unsafe" is just fear mongering, especially in conjunction with a recommendation of using Argon2 which is compa…

I agree 72 characters is plenty for most circumstances. However, as the blog points out, this is a byte limit not a character limit. Some of the family emoji can be > 20 bytes. Some of the profession emoji can be > 17 bytes. If people are using emoji in their passwords, we could quite quickly run out of bytes. I think it’s a limitation worth being aware of, even if “unsafe” is perhaps overstating it.

The hash is 24 bytes. Even without an input character limit, you're likely to find tons of valid aliases for your 1000-character password within the 72-byte password space.
Post reply on HN