<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言如何使用異或(xor)加密或解密文件

    時間:2025-12-10 03:19:04 C語言 我要投稿

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

      C語言使用異或(xor)函數可以加密或解密文件你知道嗎?你知道C語言如何使用異或(xor)加密或解密文件嗎?下面是小編為大家帶來的關于C語言如何使用異或(xor)加密或解密文件的知識,歡迎閱讀。

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

      xor_encrypt.c

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

      #define TRUE 1

      #define FALSE 0

      #include

      #include

      #include

      #include /pic/usr/include/找不到,可以在/usr/include/sys/復制過去

      /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來處理需要 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語言如何使用異或(xor)加密或解密文件】相關文章:

    C語言文件的使用方法03-18

    PHP如何使用AES加密算法進行數據加密和解密10-17

    C語言EOF如何使用10-16

    C語言文件03-02

    C語言中如何使用sscanf10-14

    如何使用C語言數組指針09-13

    C語言的文件概念10-20

    C語言頭文件如何避免重復包含12-06

    如何使用C語言開發DSP系統12-12

    • 相關推薦
    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人