iphone应用程序中的密码加密

时间:2008-10-10 02:34:02

标签: iphone encryption

我需要将用户密码存储在我的i​​phone应用中。

将应用发布到应用商店时,我必须告诉Apple应用程序中是否有用于导出的加密。

我不希望我的应用仅限于美国,但我也不希望以明文形式在网上存储或发送密码。

基本上问题是,我能否以不会限制我的应用的方式加密密码?

3 个答案:

答案 0 :(得分:8)

只需将密码存储在钥匙串中即可。它是Apple提供的系统API,您无需了解有关加密的任何信息。 Apple发货,他们有责任确保系统框架的出口合规性。如果他们在任何禁止的地方出售设备,他们可能会使用较弱(或没有)加密,但如果您使用可用的API,则不会在二进制文件中提供任何导出受限的加密代码,这是您解释的唯一方式这样做意味着苹果公司将把它与每部iPhone一起发货。

话虽如此,我不是律师,如果你担心,我建议咨询一下。没有其他程序员的建议与从根本上是一个法律问题特别相关。

答案 1 :(得分:5)

首先,如果用户名和密码在手机上加密和解密,那么解密密钥显然也在手机上,几乎毫无价值。我不担心存储手机上加密的用户名和密码。

对于安全通信,您应该使用可能位于手机上已有的库中的SSL。如果您使用的是属于手机操作系统的库,我认为这并不意味着您的应用“包含加密”。

当然,我不是律师。谁知道 - 法律可能会认为“猪拉丁”是一种有效的加密技术。

答案 2 :(得分:5)

看起来提供的crypt()函数可用于密码:

  

此库(FreeSec 1.0)是在美国境外开发的,作为美国libcrypt加密库的无阻碍替代品。只有当crypt()仅用于认证认证目的并且避免使用上面列出的其他程序员接口时,才能从美国导出与crypt()接口链接的程序。库中已经特别小心,因此只使用crypt()接口的程序不会引入其他组件。

(来自crypt(3)的iphone文档)