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 に答える