iOSインタフェースのRSA暗号化アルゴリズム
2080 ワード
前に言ったように、私は最近APPのインタフェース部分の仕事を担当しているので、最初はお客様のニーズに応じて、すべてのインタフェースが暗号化されなければなりません.そして、お客様は2048 bitのRSA暗号化であることを示しています.そこで私はバックグラウンドと一緒に一日のRSA暗号化を研究し、成果を皆さんに共有しました.
iOSではRSA暗号化を用いて復号化するには、
方法は簡単で、まずRSAEncryptor.hとRSAEncryptor.mの2つのファイルを導き、対応するライブラリSecurity.frameworkをインポートします.その後、RSAEncryptorファイルのクラスメソッドを呼び出し、直接暗号化、復号化します.4つのクラスメソッドがあります.
iOSではRSA暗号化を用いて復号化するには、
.der
および.p12
の接尾辞形式のファイルが必要であり、.der
形式のファイルには公開鍵(Public key)が暗号化に使用され、.p12
形式のファイルには秘密鍵(Private key)が復号化に使用される.まず、これらのファイルを作成してから、ファイルをエンジニアリングにインポートして使用する必要がある.実はこの2つの証明書を使わなくてもいいです.この2つの証明書は公開鍵と秘密鍵を保存するために使われているだけで、私たちは直接defineを工事の中で、直接使用することができます.だから.derと.p 12ファイルの生成について私はここでは贅沢に言わないで、ネット上ですべてあって、自分で調べることができます.RSAEncryptorファイルで復号インタフェースを追加する使用について直接紹介します.方法は簡単で、まずRSAEncryptor.hとRSAEncryptor.mの2つのファイルを導き、対応するライブラリSecurity.frameworkをインポートします.その後、RSAEncryptorファイルのクラスメソッドを呼び出し、直接暗号化、復号化します.4つのクラスメソッドがあります.
/**
*
*
* @param str
* @param path '.der'
*/
+ (NSString *)encryptString:(NSString *)str publicKeyWithContentsOfFile:(NSString *)path;
/**
*
*
* @param str
* @param path '.p12'
* @param password
*/
+ (NSString *)decryptString:(NSString *)str privateKeyWithContentsOfFile:(NSString *)path password:(NSString *)password;
/**
*
*
* @param str
* @param pubKey
*/
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
/**
*
*
* @param str
* @param privKey
*/
+ (NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;
.der .p12 , 。
:
NSString *originalString = rrr; NSString *encryptStr = [RSAEncryptor encryptString:originalString publicKey:public_key ];
:
---》 UTF8 data---》 data---》 base64
:
---》 base64 data---》 data---》 UTF8