Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在OSX中加密和解密数据_Objective C_Macos_Cocoa_Encryption - Fatal编程技术网

Objective c 在OSX中加密和解密数据

Objective c 在OSX中加密和解密数据,objective-c,macos,cocoa,encryption,Objective C,Macos,Cocoa,Encryption,我尝试使用这个示例,创建公钥/私钥,并在加密一些数据之后 SecKeyRef publicKey=NULL;//三, NSData * publicTag = [NSData dataWithBytes:publicKeyIdentifier length:strlen((const char *)publicKeyIdentifier)]; // 4 NSMutableDictionary *queryPublicKey

我尝试使用这个示例,创建公钥/私钥,并在加密一些数据之后

SecKeyRef publicKey=NULL;//三,

NSData * publicTag = [NSData dataWithBytes:publicKeyIdentifier
                                    length:strlen((const char *)publicKeyIdentifier)]; // 4

NSMutableDictionary *queryPublicKey =
[[NSMutableDictionary alloc] init]; // 5

[queryPublicKey setObject:(id)kSecClassKey forKey:(id)kSecClass];
[queryPublicKey setObject:publicTag forKey:(id)kSecAttrApplicationTag];
[queryPublicKey setObject:(id)kSecAttrKeyTypeRSA forKey:(id)kSecAttrKeyType];
[queryPublicKey setObject:[NSNumber numberWithBool:YES] forKey:(id)kSecReturnRef];
// 6

status = SecItemCopyMatching
((CFDictionaryRef)queryPublicKey, (CFTypeRef *)&publicKey); // 7
在iOS上,这很好

在OSX中,我在调用SecItemCopyMatching(7)时得到了这个消息。这是苹果公司提供的样品。我不知道出了什么问题,在OSX上查询的某些属性可能需要不同吗

谢谢

[NSConcreteData\u fastCharacterContents]:无法识别的选择器发送到 实例0x1005440f0


您正在OSX上尝试iOS示例代码,框架类似但不完全相同

您可以通过删除kSecClass键来避免_fastCharacterContents选择器问题,即删除以下代码行,它修复了崩溃问题,但无法正常工作

[queryPublicKey setObject:(id)kSecClassKey-forKey:(id)kSecClass]

有关Mac OS X示例,请参阅此问题:

您正在OS X上尝试iOS示例代码,框架类似但不完全相同

您可以通过删除kSecClass键来避免_fastCharacterContents选择器问题,即删除以下代码行,它修复了崩溃问题,但无法正常工作

[queryPublicKey setObject:(id)kSecClassKey-forKey:(id)kSecClass]

有关Mac OS X示例,请参阅此问题:

非常感谢您的回答。我会尽力让你知道发生了什么事。目前,我并没有确认答案是否被接受,所以可能会有其他人提出其他想法。我提供的示例在Mac开发者库的顶部。我想应该只有iOS。非常感谢你的回答。我会尽力让你知道发生了什么事。目前,我并没有确认答案是否被接受,所以可能会有其他人提出其他想法。我提供的示例在Mac开发者库的顶部。我想应该只有iOS。