Outsource all the BCrypt heavy lifting to a library
[Security] tweaked previous commit