DES Base64 加密解密的方法

2021-09-30 11:20:51 字數 1795 閱讀 5188

為了保護儲存檔案不被無聊的吊絲破解,對儲存檔案裡一些明感資料加密還是必須的。 

之前自己參考資料寫了個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...