RSA 用Security.framwork解密问题
我用RSA的public key来解密,php那边用private key来加密,用的Security.framework来解密。但是解出来的数据前面多了一小串奇怪的乱码,后面数据是正确的。谁能帮我看看哪里有问题?
- (NSData *)decryptToDataWithPublicKey: (NSData *)dataToDecrypt
{
NSData *wrappedSymmetricKey = dataToDecrypt;
SecKeyRef key = self.publicKey;//这是之前已经成功使用的SecKeyRef
size_t cipherBufferSize = SecKeyGetBlockSize(key);
size_t keyBufferSize = [wrappedSymmetricKey length];
NSMutableData *bits = [NSMutableData dataWithLength:keyBufferSize];
__unused OSStatus sanityCheck = SecKeyDecrypt(key,
kSecPaddingNone,
(const uint8_t *) [wrappedSymmetricKey bytes],
cipherBufferSize,
[bits mutableBytes],
&keyBufferSize);
[bits setLength:keyBufferSize];
return [bits copy];
}
最后的数据前面多了一堆fffff,不知道哪里出了问题..
f结束后的数据是正确的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
自问自答吧。最后这个方法还是没有找到解决方案,最后弃用了
Security.framework
,而是利用OC兼容C的特性,倒入openssl的framework,用openssl的函数解密。楼主 有没有发现openssl RSA加密中文乱码啊 ? 中文base64编码也不行
是不是可以写一个偏移量,或者叫补码的东西..