使用objective-c加密和解密密码

时间:2010-01-06 10:42:19

标签: objective-c

如何加密nsstring并将其存储在文件中,以及如何对其进行解密。

请建议我使用我的用途......

5 个答案:

答案 0 :(得分:1)

这是我用于加密的功能。

DES_cfb64_encrypt((unsigned char *)pchInputData,(unsigned char *)pchOutCipher,                            尺寸,& schedule,& ParityKey,& no,DES_ENCRYPT);

我必须将其转换为base64,以便将其存储在文件中 pstrResult = Base64encoding(size,(unsigned char *)pchOutCipher);

答案 1 :(得分:0)

您可以使用gpgme

答案 2 :(得分:0)

如果您只需要支持10.5或更高版本,则可以使用CommonCryptor API。本文的第一条评论显示了加密/解密NSData的示例类别:

http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html

答案 3 :(得分:0)

虽然不是API调用,但您可以实现一个简单的XOR密码。这是快速和简单的实现,并根据您的字符串的特点(即,如果它是固定长度)可以非常安全。如果您有一个可变长度的字符串XOR加密可能不够安全,具体取决于您的需要。看看Wikipedia article

答案 4 :(得分:0)

如果您要存储密码,请先确定是否需要重新使用密码,或者只需要检查用户是否输入了正确的密码。

如果您只需要验证用户是否输入了正确的密码,请使用哈希值存储密码,并将用户输入的哈希值与您存储的哈希值进行比较。如果两个哈希值相等,则用户[可能]正确键入它。有关哈希的更多信息,请参见Wikipedia

如果您需要重新使用密码(即用于通过其他服务进行身份验证,例如连接到Internet服务),请使用Apple's Keychain service。如果您要定位iPhone,请查看this相关文档。