- (NSData *)RSAEncryptData:(NSData *)data { NSMutableData * encrypted = [NSMutableData dataWithLength:256]; RSA * rsa = RSA_new(); rsa->n = BN_bin2bn(modulus.bytes,modulus.length,NulL); rsa->e = BN_bin2bn(exponent.bytes,exponent.length,NulL); RSA_public_encrypt(data.length,data.bytes,encrypted.mutableBytes,rsa,RSA_PKCS1_OAEP_padding); RSA_free(rsa); return encrypted;}
其中模数和指数是NSData对象.
这很好用,除了所有RSA方法之外,编译器还在抱怨我们在Mac OS 10.7上如何弃用它们.
我应该采用更现代的方式吗?我已经谷歌搜索了几个小时,只能找到Mac上没有的iOS东西(SecKeyEncrypt等).
要绝对清楚,我不是在寻找iOS解决方案,我正在寻找Mac OS.
解决方法 根据 the Next-Generation Cryptographic Services presentation at WWDC 2011,在Mac OS X 10.7及更高版本中不推荐使用OpenSSL,因为OpenSSL库的版本很可怕.话虽如此,目前还没有直接替代OpenSSL中的RSA功能.然而.你现在可以继续使用它们;你只需要接受警告.或者,您可以在该演示文稿中获取Jon Callas提供的建议,并将您自己的libcrypto副本捆绑为RSA.
总结以上是内存溢出为你收集整理的Objective-C中的RSA加密(Mac)全部内容,希望文章能够帮你解决Objective-C中的RSA加密(Mac)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)