iOS與PHP加密解密

6d6d 9年前發布 | 44K 次閱讀 IOS 加密/解密軟件包

 

之前說過,iOS 的加密解密方法非常不方便, 不易于和 PHP 或者 Java 之間交互, 比較封閉.

為了和PHP服務器端方便地進行加密解密操作, 我封裝了 RSA 類. 使用這個類, 你可以用你喜歡的工具, 如 openssl 命令行, PHP 腳本, 生成友好的公鑰或者私租文本, 然后 iOS 使用這些密鑰進行加密, PHP 進行解密, 或者 PHP 進行解密, 由 iOS 進行解密.

方法如下:

// return base64 encoded string
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
// return raw data
+ (NSData *)encryptData:(NSData *)data publicKey:(NSString *)pubKey;
// TODO:
//+ (NSString *)encryptString:(NSString *)str privateKey:(NSString *)privKey;
//+ (NSData *)encryptData:(NSData *)data privateKey:(NSString *)privKey;

// decrypt base64 encoded string, convert result to string(not base64 encoded)
+ (NSString *)decryptString:(NSString *)str publicKey:(NSString *)pubKey;
+ (NSData *)decryptData:(NSData *)data publicKey:(NSString *)pubKey;
// TODO:
//+ (NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;
//+ (NSData *)decryptData:(NSData *)data privateKey:(NSString *)privKey;

目前能實現:

  1. iOS 用公鑰加密, PHP 用私鑰解密
  2. PHP 用私鑰加密, iOS 用公鑰解密
  3. iOS 用私鑰加密, PHP 用公鑰解密( 未實現 )
  4. PHP 用公鑰加密, iOS 用私鑰解密( 未實現 )

后面兩種場景的需求還未實現, 但很快會實現. 歡迎你來補充. 項目地址: https://github.com/ideawu/Objective-C-RSA

 本文由用戶 6d6d 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!