Import bcrypt passwords not working for bcrypt version $2a$

I am only able to import bcrypt passwords that are hashed using version $2b$ but cannot see a way to import version $2a$.

This is a problem because I am importing passwords from a system that used Spring’s BcryptPasswordEncoder to hash passwords. BcryptPasswordEncoder uses version $2a$ by default (side note: from looking at most other libraries this is the most common default). The import works just fine using the instructions here, I can activate the user, but then I cannot login with the password.

From troubleshooting, I generated a hash with version $2b$ using the same steps and login works correctly.

Never mind, this appears to be working as expected. I think I was making a mistake when extracting the value from the bcrypt hash. The value that Okta API expects are characters 29-60 (0 based index) from the hash string. The salt is characters 7-29 from the hash.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.