Extract password hashing and validation from identico app