title: BCrypt vs. SHA-256 for the Future of the Web
body: <p>I have a Grails web-application right now that uses SHA-256 with unique salts to store the user's password in my database. I recently upgraded the web-app to the most current version of the Spring Security plugin(2.0RC2) for Grails(2.3.4). The new plugin uses BCrypt by default. My question is, which one is better and why would they make the switch to BCrypt. I've read articles on people who love BCrypt and people that hate BCrypt. One immediate pro I see is that salting is built into the algorithm, so I wouldn't have to store the salts separately. I also noticed that you can set the iterations on the SHA-256. From what I read, a lot of people like BCrypt because you can set the iterations for it as well, but how does that differ from setting the iterations of SHA-256? One blog said that PBKDF2 was a far superior choice because it's been tested. But I also hear the same thing about BCrypt... </p>