iOS經常使用加密方式(MD5,AES,BASE64)與網路資料安全

來源:互聯網
上載者:User

標籤:des   blog   http   使用   os   io   資料   for   

示範範例項目  https://github.com/cerastes/Encryption


1MD5

建立MD5類

#import <Foundation/Foundation.h>@interface CJMD5 : NSObject+(NSString *)md5HexDigest:(NSString *)input;@end

#import "CJMD5.h"#import <CommonCrypto/CommonDigest.h>@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; i<CC_MD5_DIGEST_LENGTH; i++) {        [ret appendFormat:@"%02X",result];    }    return ret;}@end

MD5是無法復原的僅僅有加密沒有解密使用方式例如以下

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.