異或演算法C語言實現

2021-08-25 11:36:35 字數 799 閱讀 4751

#include

#include

/*** 加密/解密檔案

** @param   sourcefile    要加密/解密的檔名

* @param   secretkey     金鑰

* @param   targetfile    加密/解密後要儲存的檔名

** @return  加密成功或失敗的數字表示

-1:加密失敗

0:加密成功

**/int encryptfile(const char *sourcefile, const char *secretkey, const char *targetfile)

fptarget = fopen(targetfile, "wb");

if(null == fptarget)

// 不斷地從檔案中讀取 keylen 長度的資料,儲存到buffer,直到檔案結束

while( (readcount = fread(buffer, 1, keylen, fpsource)) > 0 )

// 將buffer中的資料寫入檔案

fwrite(buffer, 1, readcount, fptarget);

}fclose(fpsource);

fclose(fptarget);

return 0;

}void usage()

int main(int argc, char *argv)

encryptfile(argv[1], argv[2], argv[3]);

return 0;

}

C語言實現陣列倒置(異或運算)

分析 指定了陣列長度,而不增加空間成本則不能新建新的陣列,實現陣列倒置可以借助第三變數互換陣列元素,但此方法也不是最高效的,可以採用異或運算,比較接近底層運算速度快 如下 includeint main for j 0 j 5 j for i 0 i 10 i printf d a i 也許有些朋友...

c語音異或運算子 c語言異或 c語言異或運算例子

用異或演算法逐字節對檔案c進行加密,輸出到另外乙個新檔案d中。include include int main 按位異或需要將異或雙方轉換成二進位制數,如當a 5時,二進位制為101,與0異或後結果為100,也就是b 4的二進位制了。異或時的規則是 逐位進行比較,相同為0 即1與1.位運算子有 按位...

C語言 異或校驗

include stdio.h void main unsigned char out 用於儲存異或結果 out 0x00 for i 0 iprintf 原來的校驗值 x n out out data 0 0xee 將data 0 改為新資料後計算新校驗和的方法 out data 5 0x20 將...