我正在构建一个快速的应用程序并拥有用户帐户。我需要安全地保存他们的信息(密码),我已经读过使用salted hash作为密码是安全的,但是我想知道是否建议使用它并将散列密码存储在我的icloud工具包中(我的数据库)< / p>
答案 0 :(得分:3)
如果您需要原件,建议应该是将密码存储在钥匙串中。如果您只需要存储哈希值进行验证,请将其加密并将其存储为SHA-256 HASH(并将盐保存在钥匙串中,也可能是哈希值)。
如果您需要将密码放在iOS设备上的数据库中,并且由于任何原因Keychain不适合您,您应该使用SQLCipher,并让用户输入数据库密码来解锁它,而不是存储任何地方的DB密钥。如果你走这条路线,在用户输入上使用密钥派生函数,如PBKDF2。
通常,假设您存储的任何密码都是安全问题。尽量不要自己存储它们。