#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 將...