【发布时间】:2012-08-05 21:27:59
【问题描述】:
我已经根据 Apple Developer 网站上提供的示例在 iOS 应用程序中实现了 publickey privatekey 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];
这就是我在解密时将加密的NSData 转换回uint8_t 缓冲区的方式:
uint8_t *cipherBuffer = (uint8_t*)[cipherText bytes];
【问题讨论】:
-
只是为了确保 cipherBuffer 是一个在方法内部 malloc 的缓冲区?
-
您是在使用自动(函数范围)数组还是 malloc 一些内存?
标签: ios rsa nsdata bytebuffer