iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全
生活随笔
收集整理的這篇文章主要介紹了
iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
演示樣例項(xiàng)目下載地址 ?https://github.com/cerastes/Encryption
1MD5
創(chuàng)建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是不可逆的僅僅有加密沒(méi)有解密使用方式例如以下 NSString *userName = @"cerastes"; NSString *password = @"hello Word"; // MD5加密 NSString *md5 = [CJMD5 md5HexDigest:password]; NSLog(@"%@",md5);
2AES加密
AES加密開(kāi)源碼git下載地址
https://github.com/Gurpartap/AESCrypt-ObjC
用法
// AES加密NSString *encryptedData = [AESCrypt encrypt:userName password:password];//加密NSString *message = [AESCrypt decrypt:encryptedData password:password]; //解密NSLog(@"加密結(jié)果 = %@",encryptedData);NSLog(@"解密結(jié)果 = %@",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);
轉(zhuǎn)載于:https://www.cnblogs.com/mfrbuaa/p/3890328.html
總結(jié)
以上是生活随笔為你收集整理的iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Bootstrap页面布局13 - BS
- 下一篇: poj 1556 (Dijkstra +