超碰免费人人操|国产视频二区久久艹人人操|欧美激情第一页在线|久热最新无码中文视频|91精品国际成人|亚洲成人精品在线视频青青草|久草免费高清完整在线观看|你懂的AV在线日本黄网页|国产黄色AV日韩女同网|欧美成人色区导航片av

C語(yǔ)言如何使用異或(xor)加密或解密文件

時(shí)間:2025-12-10 03:19:04 C語(yǔ)言 我要投稿

C語(yǔ)言如何使用異或(xor)加密或解密文件

  C語(yǔ)言使用異或(xor)函數(shù)可以加密或解密文件你知道嗎?你知道C語(yǔ)言如何使用異或(xor)加密或解密文件嗎?下面是小編為大家?guī)?lái)的關(guān)于C語(yǔ)言如何使用異或(xor)加密或解密文件的知識(shí),歡迎閱讀。

  C語(yǔ)言如何使用異或(xor)加密或解密文件

  xor_encrypt.c

  /** XOR 加密/解密文件 */

  #define TRUE 1

  #define FALSE 0

  #include

  #include

  #include

  #include /pic/usr/include/找不到,可以在/usr/include/sys/復(fù)制過(guò)去

  /pic/p>

  void msg_log(char *str);

  /pic/p>

  int file_exists(char *filename);

  /pic/p>

  /pic/pic/Programming/C/

  int main(int argc, char *argv[]){

  int keylen, index=0;

  char *source, *dest, *key, fBuffer[1], tBuffer[20], ckey;

  FILE *fSource, *fDest;

  source = argv[1]; /pic/p>

  dest = argv[2]; /pic/p>

  key = argv[3]; /pic/p>

  /pic/p>

  if(source==NULL || dest==NULL || key==NULL){

  msg_log("param error usage:xor_encrypt source dest key e.g ./xor_encrypt o.txt d.txt 123456");

  exit(0);

  }

  /pic/p>

  if(file_exists(source)==FALSE){

  sprintf(tBuffer,"%s not exists",source);

  msg_log(tBuffer);

  exit(0);

  }

  /pic/p>

  keylen = strlen(key);

  fSource = fopen(source, "rb");

  fDest = fopen(dest, "wb");

  while(!feof(fSource)){

  fread(fBuffer, 1, 1, fSource); /pic/p>

  if(!feof(fSource)){

  ckey = key[index%keylen]; /pic/p>

  *fBuffer = *fBuffer ^ ckey; /pic/p>

  fwrite(fBuffer, 1, 1, fDest); /pic/p>

  index ++;

  }

  }

  fclose(fSource);

  fclose(fDest);

  msg_log("success");

  exit(0);

  }

  /pic/p>

  void msg_log(char *str){

  printf("%s ", str);

  }

  /pic/p>

  int file_exists(char *filename){

  return (access(filename, 0)==0);

  }

  這張圖如果使用php來(lái)處理需要 2秒 左右,但用C處理只需要 130毫秒。

  fdipzone@ubuntu:~/C$ gcc -o xor_encrypt xor_encrypt.c

  fdipzone@ubuntu:~/C$ time ./xor_encrypt 1280.jpg 1280en.jpg '@#$%^&*()_DFGHJKadsklfjasdf'

  success

  real 0m0.139s

  user 0m0.060s

  sys 0m0.070s


【C語(yǔ)言如何使用異或(xor)加密或解密文件】相關(guān)文章:

C語(yǔ)言文件的使用方法03-18

PHP如何使用AES加密算法進(jìn)行數(shù)據(jù)加密和解密10-17

C語(yǔ)言EOF如何使用10-16

C語(yǔ)言文件03-02

C語(yǔ)言中如何使用sscanf10-14

如何使用C語(yǔ)言數(shù)組指針09-13

C語(yǔ)言的文件概念10-20

C語(yǔ)言頭文件如何避免重復(fù)包含12-06

如何使用C語(yǔ)言開(kāi)發(fā)DSP系統(tǒng)12-12

  • 相關(guān)推薦