Pincode加密,我做错了什么?

时间:2013-10-14 04:16:01

标签: ios security hash keychain

我使用以下方法加密(实际上,哈希)用户将在iOS应用中输入的密码(4-6数字号码)。基本上,流程完全相同,如本教程http://www.raywenderlich.com/6475中所述。

  1. 使用字符串哈希方法[pincode hash]
  2. 使用用户的其他信息(例如电子邮件,Salt哈希字符串 - 代码中的纯文本)的组合生成计算的哈希字符串,因此计算的字符串= [@“%@%i%@”,电子邮件,[pincode hash],saltString]
  3. 使用SHA256摘要为计算出的哈希字符串生成哈希字符串。
  4. 将sha256摘要结果放入钥匙串
  5. 由于sha256摘要结果将用于sqlciper lib(加密sqlite数据库)和Rncryptor(https://github.com/rnapier/RNCryptor)的密码,因此sha256摘要结果是关键部分。

    我认为这种方法还可以。但有人一直认为将sha256摘要结果保存到钥匙串是不安全的,因为人们可以将其转储到越狱设备(我同意,正如我已经读过的那样,并且在今年的WWDC期间咨询了苹果安全工程师)。

    我们还有其他更好的选择吗?我知道一堆应用程序,它们也使用钥匙串服务保存用户的用户名和密码。

0 个答案:

没有答案