iOS加密方法(整理)

2021-06-21 16:19:03 字數 2797 閱讀 1903

1、***************== 3des加密 / 解密 ***************==

1)加密

/**

* 3des加密

* * @param plaintext 明文

* @param key 金鑰

* * @return 加密結果

*/- (nsstring *)encryptusedes:(nsstring *)plaintext key:(nsstring *)key

; size_t numbytesencrypted = 0;

cccryptorstatus cryptstatus = cccrypt(kccencrypt,

kccalgorithmdes,

kccoptionpkcs7padding,

[key utf8string],

kcckeysizedes,

iv,textbytes,

datalength,

buffer,

1024,

&numbytesencrypted);

if (cryptstatus == kccsuccess)

return ciphertext;

}

2)解密

/**

* 3des解密

* * @param ciphertext 密文

* @param key 金鑰

* * @return 解密結果

*/- (nsstring *)decryptusedes:(nsstring*)ciphertext key:(nsstring*)key

; cccryptorstatus cryptstatus = cccrypt(kccdecrypt,

kccalgorithmdes,

kccoptionpkcs7padding,

[key utf8string],

kcckeysizedes,

iv,[cipherdata bytes],

[cipherdata length],

buffer,

1024,

&numbytesdecrypted);

nsstring* plaintext = nil;

if (cryptstatus == kccsuccess)

return plaintext;

}

2、***************== md5加密 ***************==

1)32位md5加密

/**

* 32位md5加密

* * @param string 加密字串

* @param lettercaseoption 加密選項

* * @return 加密後的字串

*/- (nsstring *)encodeusingmd5bystring:(nsstring *)plaintext lettercaseoption:(nsinteger)lettercaseoptionelse

return ciphertext;

}

2)16位md5加密

/**

* 16位md5加密

* * @param plaintext 明文

* @param lettercaseoption 大小寫選項

* * @return 加密結果

*/- (nsstring *)encodeusing16bitsmd5bystring:(nsstring *)plaintext lettercaseoption:(nsinteger)lettercaseoptionelse

return ciphertext;

}

注:md5加密不可逆,所以沒有md5解密

3、***************== base64編碼 / 解碼 ***************==

/**

* base64編碼

* * @param data 源資訊

* * @return 編碼結果

*/- (nsstring *)base64encodedstringfromdata:(nsdata *)data

; short bufferlength = 0;

while (bufferlength < 3 && i < [data length])

characters[length++] = encodingtable[(buffer[0] & 0xfc) >> 2];

characters[length++] = encodingtable[((buffer[0] & 0x03) << 4) | ((buffer[1] & 0xf0) >> 4)];

if (bufferlength > 1)else

if (bufferlength > 2)else

}nsstring *formatstring = [[nsstring alloc] initwithbytesnocopy:characters

length:length

encoding:nsutf8stringencoding

freewhendone:yes];

return formatstring;

}

(未完待續)

ios 加密方法

ios常用加密方法 aes md5 base64 1 aes加密 nsdata aes.h檔案 nsdata aes.h smile import class nsstring inte ce nsdata encryption nsdata aes256encryptwithkey nsstrin...

ios常見加密解密方法

在其他平台中經常會計算md5值,在ios平台中也提供了該方法,首先需要匯入標頭檔案 cpp view plain copy import 方法cc md5可以獲取md5的16個字元的陣列,再通過 02x的形式輸出即可獲取32位md5值。cpp view plain copy implementati...

iOS下的RSA加密方法

第一步,製作自簽名的證書 1.最簡單快捷的方法,開啟terminal,使用openssl mac os x自帶 生成私鑰和自簽名的x509證書。openssl req x509 out public key.der outform der new newkey rsa 1024 keyout pri...