http://www.perlmonks.org?node_id=975794


in reply to Re: Adjust bcrypt cost to prevent future password hash attacks
in thread Adjust bcrypt cost to prevent future password hash attacks

I'm using a different bcrypt module, Crypt::Eksblowfish::Bcrypt,
According to the documentation, Digest::Bcrypt is mostly a wrapper around Crypt::Eksblowfish::Bcrypt.
.. it stores both the settings and the salt in the output hash
Does that mean you can deduce the cost from the output hash alone? In order to adjust the cost over time, one either need to store the cost or be able to compute it (e.g. from the output hash).

--
No matter how great and destructive your problems may seem now, remember, you've probably only seen the tip of them. [1]
  • Comment on Re^2: Adjust bcrypt cost to prevent future password hash attacks

Replies are listed 'Best First'.
Re^3: Adjust bcrypt cost to prevent future password hash attacks
by Anonymous Monk on Jun 12, 2012 at 13:30 UTC
    Does that mean you can deduce the cost from the output hash alone? In order to adjust the cost over time, one either need to store the cost or be able to compute it (e.g. from the output hash).

    I believe so. It's stored right after the $2a$. The output hash, by the looks of it, is similar to the way passwords are stored in Unixes -- and this is no surprise since bcrypt came from the OpenBSD guys.

    The format is: $cryptomethod$length$salt$password, although anything after $cryptomethod$ is roughly freeform and parsed by the method (i.e. bcrypt) itself.

    I'm not sure about what sort of hash Digest::Bcrypt is supposed to return, but it looks nothing like the raw Eksblowfish version. Personally, I would not trust this module if I cannot get an output similar to the crypt(3) C function from it.