我有以下片段:

uint8_t* cipherBuffer;
size_t cipherBufferSize;

sanityCheck = SecKeyEncrypt(keyRef, kSecPaddingPKCS1, nonce, (size_t)sizeof(nonce)/sizeof(nonce[0]), cipherBuffer, &cipherBuffeSize);

NSString* encryptString = [[[NSString alloc] initWithBytes:cipherBuffer length:cipherBufferSize encoding:NSUTF8StringEncoding] autoRelease];


在这里,我总是得到nilencryptString

有什么建议我做错了吗?

最佳答案

您假定获得的结果是有效的UTF-8格式。那是极不可能的。 NSString *用于文本。加密的数据是纯数据,而不是文本。要将加密的数据放入Objective-C对象,您可能要使用NSData。

关于ios - iOS NSString initwithbytes返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22708541/

10-14 23:40