近期公司項目需要用到Rsa加解密,特此編寫了此demo
//
//? RsaEncrypt.h
//? RsaEncrypt
//
//? Created by ZhangNing on 2018/5/16.
//? Copyright ? 2018年 gmrz. All rights reserved.
//
#import
@interfaceRsaEncrypt :NSObject
typedefNS_ENUM(OSStatus,RSA_SATAUS){
? ? RSA_SUCCESS =0,
? ? RSA_FAILED =1<<1,
? ? RSA_GET_PUBLICKEY_FAILED =1<<2,
? ? RSA_GET_PRIVATEKEY_FAILED =1<<3
};
//類方法,初始化設置公私鑰Tag
+ (instancetype)sharedInstancePrivateTag:(NSData*)privateTag publicTag:(NSData*)publicTag;
//臨時創建后臨時更改公私鑰tag
- (void) setPrivateTag:(NSData*)privateTag publicTag:(NSData*)publicTag;
//create Rsa generateKeys publicKey and privateKey
- (RSA_SATAUS)createRSA_generate_keys;
//encrypt someDataString use privateKey
- (RSA_SATAUS)encryptBeforeEncryptDataIn:(NSData*)encryptDataIn EncryptDataOut:(NSData**)encryptDataOut;
//decode SomeEncryptData use publicKey
- (RSA_SATAUS)decodeBeforeEncryptDataIn:(NSData*)encryptDataIn DecodeRncryptDataOut:(NSData**)decodeEncryptDataOut;
//del public and private keys Use KyesTag;
- (RSA_SATAUS)deleteRsaKeys;
@end
此demo 對類進行封裝,封裝系統加解密方法,實現數據的加解密.
公鑰私鑰存儲在keychain中,方法調用簡單詳情參照demo來完成.
如有錯誤請批評指出.