常用的加密方式

常用的加密方法:

MD5加密

AES加密

BASE64加密

常用加密的地方:

1)本地?cái)?shù)據(jù)加密

對(duì)NSUserDefaults,sqlite存儲(chǔ)文件數(shù)據(jù)加密,保護(hù)帳號(hào)和關(guān)鍵信息。

2)URL編碼加密

對(duì)程序中出現(xiàn)的URL進(jìn)行編碼加密,防止URL被靜態(tài)分析

3)網(wǎng)絡(luò)傳輸數(shù)據(jù)加密

對(duì)客戶端傳輸數(shù)據(jù)提供加密方案,有效防止通過網(wǎng)絡(luò)接口的攔截獲取

4)方法體,方法名高級(jí)混淆

對(duì)應(yīng)用程序的方法名和方法體進(jìn)行混淆,保證源碼被逆向后無法解析代碼

5)程序結(jié)構(gòu)混排加密

對(duì)應(yīng)用程序邏輯結(jié)構(gòu)進(jìn)行打亂混排,保證源碼可讀性降到最低

MD5 iOS代碼加密

創(chuàng)建MD5類,代碼如下

#import

@interfaceCJMD5:NSObject

+(NSString*)md5HexDigest:(NSString*)input;

@end

2

#import "CJMD5.h"

#import

@implementationCJMD5

+(NSString*)md5HexDigest:(NSString*)input{

constchar*str=[input UTF8String];

unsignedcharresult[CC_MD5_DIGEST_LENGTH];

CC_MD5(str,strlen(str),result);

NSMutableString*ret=[NSMutableStringstringWithCapacity:CC_MD5_DIGEST_LENGTH];

for(inti=0;i

[ret appendFormat:@"%02X",result];

}

returnret;

}

@end

3

MD5是不可逆的只有加密沒有解密,iOS代碼加密使用方式如下

NSString*userName=@"cerastes";

NSString*password=@"hello Word";

//? MD5加密

NSString*md5=[CJMD5 md5HexDigest:password];

NSLog(@"%@",md5);

//? AES加密

NSString*encryptedData=[AESCryptencrypt:userName password:password];//加密

NSString*message=[AESCryptdecrypt:encryptedData password:password];//解密

NSLog(@"加密結(jié)果 = %@",encryptedData);

NSLog(@"解密結(jié)果 = %@",message);

BASE64加密iOS代碼加密添加如下方法

.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=[GTMBase64encodeData:data];

NSString*base64String=[[NSStringalloc]initWithData:data encoding:NSUTF8StringEncoding];

returnbase64String;

}

+(NSString*)decodeBase64String:(NSString*)input{

NSData*data=[input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

data=[GTMBase64decodeData:data];

NSString*base64String=[[NSStringalloc]initWithData:data encoding:NSUTF8StringEncoding];

returnbase64String;

}

+(NSString*)encodeBase64Data:(NSData*)data{

data=[GTMBase64encodeData:data];

NSString*base64String=[[NSStringalloc]initWithData:data encoding:NSUTF8StringEncoding];

returnbase64String;

}

+(NSString*)decodeBase64Data:(NSData*)data{

data=[GTMBase64decodeData:data];

NSString*base64String=[[NSStringalloc]initWithData:data encoding:NSUTF8StringEncoding];

returnbase64String;

}

BASE64加密iOS代碼加密使用方法

//? ? BASE64加密

NSString*baseEncodeString=[GTMBase64encodeBase64String:password];

NSString*baseDecodeString=[GTMBase64decodeBase64String:baseEncodeString];

NSLog(@"baseEncodeString = %@",baseEncodeString);

NSLog(@"baseDecodeString = %@",baseDecodeString);

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容