我已经根据 Apple Developer 网站上提供的示例在 iOS 应用程序中实现了公钥私钥 RSA 加密。
如果我加密并返回uint8_t cipherBuffer,然后从 中解密,它会完美地工作uint8_t cipherBuffer。但是我需要将加密数据存储到.xcdata模型中NSData。
我遇到的问题是在解密时可靠地将其转换uint8_t cipherBuffer为NSData和/或将其转换NSData回。uint8_t解密的数据似乎被截断。
这就是我将uint8_t加密缓冲区转换为NSData:
return [NSData dataWithBytesNoCopy:cipherBuffer length:BUFFER_SIZE];
Run Code Online (Sandbox Code Playgroud)
这就是我在解密时将加密数据转换NSData回缓冲区的方法:uint8_t
uint8_t *cipherBuffer = (uint8_t*)[cipherText bytes];
Run Code Online (Sandbox Code Playgroud)