iOS常用的加密方式

2021-09-07 04:53:09 字數 3091 閱讀 3416

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 非對稱加密 特點 演算法公開,效率高,適合大型檔案 一般對檔案用對稱加密,對加密用的秘鑰用非對稱加密 方法 公鑰加密,私鑰解...