iOS常用加密方式

來源:互聯網
上載者:User

 

 

1MD5

建立MD5類

 

#import @interface CJMD5 : NSObject+(NSString *)md5HexDigest:(NSString *)input;@end

#import CJMD5.h#import @implementation CJMD5+(NSString *)md5HexDigest:(NSString *)input{        const char* str = [input UTF8String];    unsigned char result[CC_MD5_DIGEST_LENGTH];    CC_MD5(str, strlen(str), result);    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];        for(int i = 0; iMD5是無法復原的只有加密沒有解密使用方式如下

 

 

NSString *userName = @cerastes;NSString *password = @hello Word;//   MD5加密NSString *md5 = [CJMD5 md5HexDigest:password];NSLog(@%@,md5);

2AES加密

 

AES加密開原始碼git

https://github.com/Gurpartap/AESCrypt-ObjC

使用方法

 

//  AES加密    NSString *encryptedData = [AESCrypt encrypt:userName password:password];//加密    NSString *message = [AESCrypt decrypt:encryptedData password:password]; //解密    NSLog(@加密結果 = %@,encryptedData);    NSLog(@解密結果 = %@,message);

3 BASE64加密

 

https://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

添加如下方法

.h

 

+ (NSString*)encodeBase64String:(NSString *)input;+ (NSString*)decodeBase64String:(NSString *)input;+ (NSString*)encodeBase64Data:(NSData *)data;+ (NSString*)decodeBase64Data:(NSData *)data;

.m

 

 

+ (NSString*)encodeBase64String:(NSString * )input {    NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];    data = [GTMBase64 encodeData:data];    NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];    return base64String;}+ (NSString*)decodeBase64String:(NSString * )input {    NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];    data = [GTMBase64 decodeData:data];    NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];    return base64String;}+ (NSString*)encodeBase64Data:(NSData *)data {    data = [GTMBase64 encodeData:data];    NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];    return base64String;}+ (NSString*)decodeBase64Data:(NSData *)data {    data = [GTMBase64 decodeData:data];    NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];    return base64String;}

使用方法

 

 

//    BASE64加密    NSString *baseEncodeString = [GTMBase64 encodeBase64String:password];    NSString *baseDecodeString = [GTMBase64 decodeBase64String:baseEncodeString];    NSLog(@baseEncodeString = %@,baseEncodeString);    NSLog(@baseDecodeString = %@,baseDecodeString);

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.