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...