1. MD5 iOS代碼加密 創建MD5類,代碼如下:
#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonDigest.h>
+(NSString *)MD5:(NSString *)input;
@end
@implementation MD5String
+(NSString *)MD5:(NSString *)input
{
const char *cStr = [input UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
{
[output appendFormat:@"%02x", digest[i]];
}
return output;
}
@end
3.MD5是不可逆的只有加密沒有解密,iOS代碼加密使用方式如下 :
NSString *pwdMD5 = [MD5String MD5:string1];
NSString *newPwd = [pwdMD5 stringByReplacingOccurrencesOfString:@"d" withString:@“h”];//將加密的密碼再次替換可以增加數據安全程度
AES加密iOS代碼加密:
AES加密ios代碼加密使用方法
// AES加密
NSString *encryptedData = [AESCrypt encrypt:userName password:password];//加密
NSString *message = [AESCrypt decrypt:encryptedData password:password]; //解密
NSLog(@"加密結果 = %@",encryptedData);
NSLog(@"解密結果 = %@",message);
END
BASE64加密iOS代碼加密:
1.BASE64加密iOS代碼加密添加如下方法 :
.h
+ (NSString*)encodeBase64String:(NSString *)input;
+ (NSString*)decodeBase64String:(NSString *)input;
+ (NSString*)encodeBase64Data:(NSData *)data;
+ (NSString*)decodeBase64Data:(NSData *)data;
2. .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;
}
3. BASE64加密iOS代碼加密使用方法 // BASE64加密
NSString *baseEncodeString = [GTMBase64 encodeBase64String:password];
NSString *baseDecodeString = [GTMBase64 decodeBase64String:baseEncodeString];
NSLog(@"baseEncodeString = %@",baseEncodeString);
NSLog(@"baseDecodeString = %@",baseDecodeString);
END
利用md5,和base64對應用中的敏感數據進行的加密和編碼。
1. md5和base64的區別:
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用於確保信息傳輸完整一致。 計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。將數據(如漢字)運算爲另一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD2、MD3和MD4。md5
運算結果是一個固定長度爲128位的二進制數,經過一系列的運算得到32個16進制數。
Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可打印的ASCII 字符。這使它可用來作爲電子郵件的傳輸編碼。在Base64中的變量使用字符A-Z、a-z和0-9 ,這樣共有62個字符,用來作爲開始的64個數字,最後兩個用來作爲數字的符號在不同的系統中而不同。一些如uuencode的其他編碼方法,和之後binhex的版本使用不同的64字符集來代表6個二進制數字,但是它們不叫Base64。
2.MD5加密算法是不可逆的,base64加密算法是可逆的
iOS應用代碼加密:
1. 除了以上的三種算法的iOS代碼加密之外,iOS應用代碼加密也是非常重要的,這裏就不貼代碼了,主要的iOS代碼加密方式如下,iOS應用代碼加密是 愛 加 密 平臺提供的專業的iOS加密服務。
2. 1)本地數據加密 對NSUserDefaults,sqlite存儲文件數據加密,保護帳號和關鍵信息。
2)URL編碼加密 對程序中出現的URL進行編碼加密,防止URL被靜態分析
3)網絡傳輸數據加密 對客戶端傳輸數據提供加密方案,有效防止通過網絡接口的攔截獲取
4)方法體,方法名高級混淆 對應用程序的方法名和方法體進行混淆,保證源碼被逆向後無法解析代碼
5)程序結構混排加密 對應用程序邏輯結構進行打亂混排,保證源碼可讀性降到最低