Mac でパスワード文字列をエンコードして、objective-c のファイルに保存するにはどうすればよいですか? このようなもの:
NSString *myPasswordString = [NSString stringWithFormat:@"mypassword"];
//Encode
//Save to Preferences file
Mac でパスワード文字列をエンコードして、objective-c のファイルに保存するにはどうすればよいですか? このようなもの:
NSString *myPasswordString = [NSString stringWithFormat:@"mypassword"];
//Encode
//Save to Preferences file
パスワードを保存するより良い方法は、キーチェーンを使用することです。
簡単にするクラスがあります - GithubのSSKeyChainなど
#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]];
次のように設定ファイルに書き込むことができます。
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[settings setObject : myPasswordString forKey : @"mypassword"];
[settings synchronize];
「エンコード」の意味がわかりません。「暗号化」を意味する場合、SO に関する多くの質問があります。
上記の場合でも、セキュリティへの影響について慎重に考える必要があります。アプリケーションに埋め込まれたキーを使用して暗号化されたパスワードを保存している場合、そのパスワードが攻撃者によって復元される可能性があります。