我正在研究需要 RSA 加密的东西,我有一些看起来像这样的代码:
- (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 解决方案。