我已经了解到存储加密密码是多么不安全,因为有权访问您的数据库/服务器的人可以握住您的加密密钥,然后再解密用户密码。推荐的方法是使用哈希盐方法。
但是,如果我使用密码作为自己的加密密钥怎么办?
例如(伪代码):
raw_pswrd = get_user_input_pswrd()
encrypted_pswrd = (text=raw_pswrd, key=raw_pswrd)
这样,只有知道原始密码的用户才可以解密和验证它,就像hash-salt方法一样。
为什么这种方法没有像哈希盐那样得到充分利用或讨论?它有缺点吗?