RSA一站式解决办法
注意:若使用Xcode8
及以上请在Capabilities
中将KeyChain sharing
设置为YES
,否则在iOS10模拟器上使用会出现问题。
本工具类直接使用.pem
文件中字符串类型的密钥,无需导入p12、der之类的证书文件。
本工具类能实现:
- RSA公钥加密;
- RSA私钥解密;
- RSA私钥加签;
- RSA公钥验签。
不建议将私钥保存在客户端,会有较大的安全风险。
接入方法:
- 将工具类导入项目;
- 导入头文件
IPNRSAUtil.h
; - 调用工具类中的方法。
加密:
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
+ (NSData *)encryptData:(NSData *)data publicKey:(NSString *)pubKey;
解密:
+ (NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;
+ (NSData *)decryptData:(NSData *)data privateKey:(NSString *)privKey;
加签(SHA1):
+ (NSString *)rsaSignString:(NSString *)plainString WithPrivateKey:(NSString *)privateKey;
验签(SHA1):
+ (BOOL)rsaVerifySignature:(NSString *)signature plainString:(NSString *)plainString WithPublicKey:(NSString *)publickey;
若有疑问,欢迎提issue
交流。