我想用 Salt 生成一个用于 AES 256 加密的密钥。我正在使用 BBASE lib,请参考此链接: 在 iOS 中创建随机 128 位 AES 加密密钥
我的代码是:
NSData* salt = [BBAES randomDataWithLength:BBAESSaltDefaultLength];
NSData *key = [BBAES keyBySaltingPassword:@"password" salt:salt keySize:BBAESKeySize256 numberOfIterations:BBAESPBKDF2DefaultIterationsCount];
NSLog(@"Data ASE Key %@",key);
NSString *aString = [[NSString alloc] initWithData:key encoding:NSUTF8StringEncoding];
我想在下面的代码中使用这个“密钥”:(这里我使用的是 RNCryptor lib)
NSData *encryptedData = [ RNEncryptor encryptData:bodyData withSettings:kRNCryptorAES256Settings password:aString error:&error];
NSData *decryptedData = [RNDecryptor decryptData:encryptedData withSettings:kRNCryptorAES256Settings password:aString error:&error];
我需要传递 NSString 类型的键,但是当我将 NSData 转换为 NSString 时,它会给出 NULL 值并且我的应用程序崩溃。我应该怎么办??有什么解决办法吗??