* it has to be dog slow (to make brute forcing hard)
* it should be complicated enough to avoid collisions (this really applies to most hash functions)
* it should be suitably salted, to avoid rainbow tables
-> bcrypt is designed like this, if in doubt, use it
* it has to be dog slow (to make brute forcing hard)
* it should be complicated enough to avoid collisions (this really applies to most hash functions)
* it should be suitably salted, to avoid rainbow tables
-> bcrypt is designed like this, if in doubt, use it