md5 ios**加密
建立md5類,**如下
#import
@inte***ce 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; ireturn ret;
@end
md5是不可逆的只有加密沒有解密,ios**加密使用方式如下
nsstring *username = @"cerastes";
nsstring *password = @"hello word";
// md5加密
nsstring *md5 = [cjmd5 md5hexdigest:password];
nslog(@"%@",md5);
aes加密ios**加密使用方法
// aes加密
nsstring *encrypteddata = [aescrypt encrypt:username password:password];//加密
nsstring *message = [aescrypt decrypt:encrypteddata password:password]; //解密
nslog(@"加密結果 = %@",encrypteddata);
nslog(@"解密結果 = %@",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 = [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加密ios**加密使用方法
// base64加密
nsstring *baseencodestring = [gtmbase64 encodebase64string:password];
nsstring *basedecodestring = [gtmbase64 decodebase64string:baseencodestring];
nslog(@"baseencodestring = %@",baseencodestring);
nslog(@"basedecodestring = %@",basedecodestring);
除了以上的三種演算法的ios**加密之外,ios應用**加密也是非常重要的,這裡就不貼**了,主要的ios**加密方式如下,
1)本地資料加密
對nsuserdefaults,sqlite儲存檔案資料加密,保護帳號和關鍵資訊。
2)url編碼加密
對程式中出現的url進行編碼加密,防止url被靜態分析
3)網路傳輸資料加密
對客戶端傳輸資料提供加密方案,有效防止通過網路介面的攔截獲取
4)方法體,方法名高階混淆
對應用程式的方法名和方法體進行混淆,保證原始碼被逆向後無法解析**
5)程式結構混排加密
對應用程式邏輯結構進行打亂混排,保證原始碼可讀性降到最低
iOS開發中常用到的加密方式
1 base64 1.1 簡介 base64編碼的思想是是採用64個基本的ascii碼字元對資料進行重新編碼。它將需要編碼的資料拆分成位元組陣列。以3個位元組為一組。按順序排列24位資料,再把這24位資料分成4組,即每組6位。再在每組的的最高位前補兩個0湊足乙個位元組。這樣就把乙個3位元組為一組的資...
iOS開發中常用到的加密方式
1 base64 1.1 簡介 base64編碼的思想是是採用64個基本的ascii碼字元對資料進行重新編碼。它將需要編碼的資料拆分成位元組陣列。以3個位元組為一組。按順序排列24位資料,再把這24位資料分成4組,即每組6位。再在每組的的最高位前補兩個0湊足乙個位元組。這樣就把乙個3位元組為一組的資...
iOS 常用的加密模式
加密方式 手機端的加密有三個大類 1 非對稱加密 rsa 2 雜湊 雜湊 函式 3 對稱加密 aes 介紹 1 非對稱加密 rsa 上世紀70年代出現的偉大加密演算法是rsa 非對稱加密 特點 演算法公開,效率高,適合大型檔案 一般對檔案用對稱加密,對加密用的秘鑰用非對稱加密 方法 公鑰加密,私鑰解...