為了保護儲存檔案不被無聊的吊絲破解,對儲存檔案裡一些明感資料加密還是必須的。
之前自己參考資料寫了個base64,沒除錯通,死於胎腹。之後在網上找到個gtmbase64
,google toolbox for mac。
encryptutil.h
//
// encryptutil.h
//// created by wu kurodo on 12-6-27.
//#import @inte***ce encryptutil : nsobject
+ (nsstring *)encryptwithtext:(nsstring *)stext;
+ (nsstring *)decryptwithtext:(nsstring *)stext;
@end
encryptutil.m
//
// encryptutil.m
//// created by wu kurodo on 12-6-27.
//#import "encryptutil.h"
#import #import "gtmbase64.h"
@implementation encryptutil
+ (nsstring *)encrypt:(nsstring *)stext encryptordecrypt:(ccoperation)encryptoperation key:(nsstring *)key
else
cccryptorstatus ccstatus;
uint8_t *bufferptr = null;
size_t bufferptrsize = 0;
size_t movedbytes = 0;
bufferptrsize = (plaintextbuffersize + kccblocksize3des) & ~(kccblocksize3des - 1);
bufferptr = malloc( bufferptrsize * sizeof(uint8_t));
memset((void *)bufferptr, 0x0, bufferptrsize);
nsstring *initvec = @"init kurodo";
const void *vkey = (const void *) [key utf8string];
const void *vinitvec = (const void *) [initvec utf8string];
ccstatus = cccrypt(encryptoperation,
kccalgorithm3des,
kccoptionpkcs7padding,
vkey,
kcckeysize3des,
vinitvec,
vplaintext,
plaintextbuffersize,
(void *)bufferptr,
bufferptrsize,
&movedbytes);
nsstring *result = nil;
if (encryptoperation == kccdecrypt)
else
return result;
}+ (nsstring *)encryptwithtext:(nsstring *)stext
+ (nsstring *)decryptwithtext:(nsstring *)stext
@end
Base64加密解密
public class base64 對應asicc字元的位置 public static string base64encode string str c2 str i if i len c3 str i out base64encodechars c1 2 out base64encodech...
Base64 加密 解密
1 原理 轉碼過程例子 3 8 4 6 記憶體1個字元佔8位 轉前 s 1 3 先轉成ascii 對應 115 49 51 2進製 01110011 00110001 00110011 6個一組 4組 011100110011000100110011 然後才有後面的 011100 110011 00...
Android Base64加密解密
加密傳入的資料是byte型別的,並非使用decode方法將原始資料轉二進位制,string型別的資料 使用 str.getbytes 即可 string str hello 在這裡使用的是encode方式,返回的是byte型別加密資料,可使用new string轉為string型別 string s...