<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            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

            • 相關推薦

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院