如何编码密码字符串并将其保存到Mac上的objective-c文件中? 像这样的东西:
NSString *myPasswordString = [NSString stringWithFormat:@"mypassword"];
//Encode
//Save to Preferences file
答案 0 :(得分:2)
存储密码的更好方法是使用Keychain。
有些类可以让它变得更容易 - 比如Github上的SSKeyChain
答案 1 :(得分: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]];
答案 2 :(得分:0)
您可以按如下方式写入首选项文件:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[settings setObject : myPasswordString forKey : @"mypassword"];
[settings synchronize];
我不确定'encode'是什么意思。如果你的意思是“加密”,那么关于SO就有很多问题:
即使有了上述内容,您仍需要仔细考虑安全隐患。如果您存储的密码是使用应用程序中嵌入的密钥加密的,则攻击者可以恢复该密码。