New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/crypto/bcrypt: API to check hash format #20896

Open
ibukanov opened this Issue Jul 3, 2017 · 0 comments

Comments

Projects
None yet
2 participants
@ibukanov
Copy link

ibukanov commented Jul 3, 2017

golang.org/x/crypto/bcrypt [1] does not provide an official API to verify that the hash format is good one. The current sources indicates [2] that one can use bcrypt.Cost() as that parses and verifies the whole hash string. But the documentation does not reflect that a successful return from the function indicates a valid hash. Also the documentation implies that bcrypt.ErrHashTooShort can only be returned from CompareHashAndPassword when the Cost function can also return it.

It would be nice to have an explicit API to check hash format and perhaps check that it was created by older version so a password change can be scheduled in such case.

[1] - https://godoc.org/golang.org/x/crypto/bcrypt
[2] - https://github.com/golang/crypto/blob/6c586e17d90a7d08bbbc4069984180dce3b04117/bcrypt/bcrypt.go#L118

@mvdan mvdan changed the title bcrypt: API to check hash format x/crypto/bcrypt: API to check hash format Jul 3, 2017

@gopherbot gopherbot added this to the Unreleased milestone Jul 3, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment