QR
libを使用してコード イメージをスキャンし、ZXingWidget
応答として文字列を受け取りました。lib-sodium
今、iOS で使用してその文字列を暗号化したいと考えています。
ライブラリを使用してiOSで文字列の暗号化を行う方法についての提案lib-sodium
....よろしくお願いします...
QR
libを使用してコード イメージをスキャンし、ZXingWidget
応答として文字列を受け取りました。lib-sodium
今、iOS で使用してその文字列を暗号化したいと考えています。
ライブラリを使用してiOSで文字列の暗号化を行う方法についての提案lib-sodium
....よろしくお願いします...
リクエストに応じて: PBKDF の実装に関するサンプル コード
これは例であり、製品コードではないことに注意してください。
#import <CommonCrypto/CommonKeyDerivation.h>
+ (NSData *)doKeyForPassword:(NSString *)password
salt:(NSData *)salt
keySize:(NSUInteger)keySize
rounds:(NSUInteger)rounds {
NSMutableData *derivedKey = [NSMutableData dataWithLength:keySize];
NSData *passwordData = [password dataUsingEncoding: NSUTF8StringEncoding];
CCKeyDerivationPBKDF(kCCPBKDF2, // algorithm
passwordData, // password
passwordData, // passwordLength
salt.bytes, // salt
salt.length, // saltLen
kCCPRFHmacAlgSHA1, // PRF
rounds, // rounds
derivedKey.mutableBytes, // derivedKey
derivedKey.length); // derivedKeyLen
return derivedKey;
}
非常に単純なテストです。CCCalibratePBKDF を使用して、より良いソルトとより良いラウンド数を使用してください。
- (void)test_doKeyForPassword {
NSData *key = [Crypto doKeyForPassword:@"password"
salt:[@"salt" dataUsingEncoding:NSUTF8StringEncoding]
keySize:kCCKeySizeAES128
rounds:1000];
NSLog(@"doKeyForPassword: %@",key);
}
本番アプリで使用するためにこのコードをコピーする場合: しないでください。これは単なるコード例です。基本的に、このコードが必要な場合、暗号化を行うべきではありません。ドメインの専門家を雇って、少なくともドメインの専門家にコードを精査してもらいます。