iOS常用加密方法(aes md5 base64)

2021-06-27 20:42:35 字數 3143 閱讀 4666

ios常用加密方法(aes、md5、base64)

1、aes加密

nsdata+aes.h檔案

//  

// nsdata-aes.h

// smile

//

// created by 周 敏 on 12-11-24.

//

#import @class nsstring;

@inte***ce nsdata (encryption)

- (nsdata *)aes256encryptwithkey:(nsstring *)key; //加密

- (nsdata *)aes256decryptwithkey:(nsstring *)key; //解密

@end

nsdata+aes.m檔案

//  

// nsdata-aes.h

// smile

//

// created by 周 敏 on 12-11-24.

//

#import "nsdata+aes.h"

#import @implementation nsdata (encryption)

- (nsdata *)aes256encryptwithkey:(nsstring *)key

free(buffer);

return nil;

}

- (nsdata *)aes256decryptwithkey:(nsstring *)key

free(buffer);

return nil;

}

@end

這裡aes在ios加過密以後以nsdata的形式存下來,如果想以nsstring形式儲存,那麼對nsdata進行base64位編碼。

2、base64編碼

g***efines.h

gtmbase64.h

gtmbase64.m

你可以在這裡找到這三個檔案

你也可以在下面的demo裡面找到這3個檔案,demo會完整實現文章裡面常用的3種編碼方法。

我在此稍微封裝一下:

.h檔案

#pragma mark - base64  

+ (nsstring*)encodebase64string:(nsstring *)input;

+ (nsstring*)decodebase64string:(nsstring *)input;

+ (nsstring*)encodebase64data:(nsdata *)data;

+ (nsstring*)decodebase64data:(nsdata *)data;

.m檔案

#pragma mark - base64  

+ (nsstring*)encodebase64string:(nsstring * )input

+ (nsstring*)decodebase64string:(nsstring * )input

+ (nsstring*)encodebase64data:(nsdata *)data

+ (nsstring*)decodebase64data:(nsdata *)data

使用gtmbase64編碼解碼字串

說明:base64不是用來加密的。你看看經過base64編碼後的字串,全部都是由標準鍵盤上面的常規字元組成,這樣編碼後的字串在閘道器之間傳遞不會產生unicode字串不能識別或者丟失的現象。你再仔細研究下email就會發現其實email就是用base64編碼過後再傳送的。然後接收的時候再還原。

還有一種情況下用base64編碼也很好,比如乙個檔案,或者其他任何二進位制檔案。我可以把它編碼成字串。這樣用xml或者資料庫就能直接以文字的方式來儲存這些檔案了。

base64是一種編碼方式,編碼演算法完全公開,所以逆向解碼即可

示例**:

#import "gtmbase64.h"

- (void)testexample

輸出:2012-04-10 12:13:10.121 fs_test[7370:b603] encoded:sgvsbg9xb3jsza==

2012-04-10 12:13:10.122 fs_test[7370:b603] decoded:helloworld

#import "gtmbase64.h"

uiimage *image;

nsdata *data= uiimagepngrepresentation(image);

if([data length]>0)

if([data length]>0)

3、md5加密

nsstring+md5.h檔案

//  

// nsstring+md5encrypt.h

// smile

//

// created by 周 敏 on 12-11-24.

//

#import @inte***ce nsstring (md5)

- (nsstring *)md5encrypt;

@end

nsstring+md5.m檔案

//  

// nsstring+md5encrypt.h

// smile

//

// created by 周 敏 on 12-11-24.

//

#import "nsstring+md5.h"

@implementation nsstring (md5)

- (nsstring *)md5encrypt

@end

另外一篇關於加密的「ios之sha加密、md5常規加密、md5二次加密詳解及示例程式」:

加密那些事AES MD5

在開發中,為了安全性考慮,我們常常會用到加密,加密的格式很多,今天我就來簡單寫寫aes md5加密。aes加密 下面是工具類 public class aesutils 解密 param data return throws exception public static string decryp...

iOS常用加密方法(aes md5 base64)

ios常用加密方法 aes md5 base64 nsdata aes.h檔案 nsdata aes.h smile created by 周 敏 on 12 11 24.import class nsstring inte ce nsdata encryption nsdata aes256enc...

iOS常用加密方法(aes md5 base64)

該文原文發表於 ios常用加密方法 aes md5 base64 nsdata aes.h檔案 plain view plain copy nsdata aes.h smile created by 周 敏 on 12 11 24.import class nsstring inte ce nsda...