0

所以我使用这个问题的随机字符串生成解决方案。

然后我将结果保存到钥匙串,除了我得到EXC_BAD_ACCESS(code=EXC_I386_GPFLT),并且result包含 OSStatus 的变量是32767

我究竟做错了什么?我已经尝试strlen()在两者characters上运行generatedKey- 它总是返回一些荒谬的数字,以及运行简单[characters length]。我相信有问题 - 它应该返回 256。

我知道这可能很愚蠢,但我迷路了,谷歌也无济于事。

int len = 256;

NSString *characters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
NSMutableString *generatedKey = [NSMutableString stringWithCapacity: len];
for (int i=0; i<len; i++) {
    [generatedKey appendFormat: @"%C", [characters characterAtIndex: arc4random_uniform([characters length]) % [characters length]]];
}

const char *encryptedPass = [generatedKey UTF8String];
OSStatus result = SecKeychainItemCreateFromContent(kSecGenericPasswordItemClass, &list, len, encryptedPass, someKeychain, accessRef, &someKeychainItem);
4

0 回答 0