請問加解密的方法~~ |
答題得分者是:HomeSound
|
LI
一般會員 發表:15 回覆:18 積分:6 註冊:2003-06-13 發送簡訊給我 |
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
引用RaynorPao包子"仙"的範例,希望是您要的
(1)一個完整的範例,希望妳再依照自己的需求做修改
typedef struct _MYSTRUCT { DWORD dw1; DWORD dw2; char sz1[16]; char sz2[16]; } MYSTRUCT, *PMYSTRUCT; void __fastcall TForm1::Button4Click(TObject *Sender) { MYSTRUCT MyStruct; ZeroMemory(&MyStruct, sizeof(MYSTRUCT)); // 先把 struct 內容清為 0 MyStruct.dw1=1111; // 給值,稍候用來驗證 MyStruct.dw2=2222; // 給值,稍候用來驗證 lstrcpy(MyStruct.sz1, "test1"); // 給值,稍候用來驗證 lstrcpy(MyStruct.sz2, "test2"); // 給值,稍候用來驗證 // 把 encrypt 之前的 struct 存檔,稍候用來跟其他檔案比較 TMemoryStream *msBeforeEncrypt=new TMemoryStream; msBeforeEncrypt->Size=sizeof(MYSTRUCT); msBeforeEncrypt->Write(&MyStruct, sizeof(MYSTRUCT)); msBeforeEncrypt->SaveToFile("BeforeEncrypt.dat"); delete msBeforeEncrypt; // encrypt (加密) MyEncrypt((BYTE*)&MyStruct, sizeof(MYSTRUCT)); // 把 encrypt 之後的 struct 存檔,稍候用來跟其他檔案比較 TMemoryStream *msAfterEncrypt=new TMemoryStream; msAfterEncrypt->Size=sizeof(MYSTRUCT); msAfterEncrypt->Write(&MyStruct, sizeof(MYSTRUCT)); msAfterEncrypt->SaveToFile("AfterEncrytp.dat"); delete msAfterEncrypt; // decrypt (解密) MyDecrypt((BYTE*)&MyStruct, sizeof(MYSTRUCT)); // 把 decrypt 之後的 struct 存檔,稍候用來跟其他檔案比較 TMemoryStream *msAfterDecrypt=new TMemoryStream; msAfterDecrypt->Size=sizeof(MYSTRUCT); msAfterDecrypt->Write(&MyStruct, sizeof(MYSTRUCT)); msAfterDecrypt->SaveToFile("AfterDecrypt.dat"); delete msAfterDecrypt; // 驗證,看經過 encrypt/decrypt 之後的值,是否跟一開始給的一樣 ShowMessage("MyStruct.dw1=" IntToStr(MyStruct.dw1)); ShowMessage("MyStruct.dw2=" IntToStr(MyStruct.dw2)); ShowMessage("MyStruct.sz1=" (AnsiString)MyStruct.sz1); ShowMessage("MyStruct.sz2=" (AnsiString)MyStruct.sz2); } void __fastcall TForm1::MyEncrypt(BYTE *pbData, DWORD dwLen) { DWORD dwi=0; // 7, 6, 5, 4, 3, 2, 1, 0 to 0, 3, 4, 5, 1, 2, 6, 7 for(dwi=0; dwi(2)上面的程式執行完之後,還會產生三個檔案,試比較檔案的內容 (3)以上大部分的程式碼都是不必要的,當你得到驗證這個方法是沒有問題的時 候,請再自行把不必要的程式碼去掉 --==多看.多學.多聽==--
------
--==多看.多學.多聽==-- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |