0

如何在 Mac 上对密码字符串进行编码并将其保存到 Objective-c 中的文件中?像这样的东西:

NSString *myPasswordString = [NSString stringWithFormat:@"mypassword"];

//Encode

//Save to Preferences file
4

3 回答 3

2

存储密码的更好方法是使用钥匙串。

有一些类使它更容易 - 例如Github 上的SSKeyChain

于 2012-11-04T02:01:19.083 回答
1
#import <CommonCrypto/CommonDigest.h>
...
const char *cStr = [myPasswordString UTF8String];
unsigned char result[16];
CC_MD5( cStr, strlen(cStr), result ); // This is the md5 call
NSString *passwordAfterEncrypt = [NSString stringWithFormat:
@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]];
于 2012-11-04T01:47:47.467 回答
0

您可以按如下方式写入首选项文件:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[settings setObject : myPasswordString forKey : @"mypassword"];
[settings synchronize];

我不确定您所说的“编码”是什么意思。如果您的意思是“加密”,那么关于 SO 有很多问题:

即使有上述情况,您仍然需要仔细考虑安全隐患。如果您存储的密码是使用嵌入在应用程序中的密钥加密的,那么攻击者可能会恢复该密码。

于 2012-11-04T01:50:59.580 回答