• 怎么用c语言给文件加密?


    C语言用过很长时间,也编写过一些程序。最近看到网上的文件加密软件挺多的,我就想能不能自己也写一个程序,来给文件加密呢,所以我就利用c语言来给文件加密。

     

    其操作是指示用户键入一个完整的文件名,包含文件路径和文件名,如后输入加密密码,就可以对指定文件进行加密了。

     

    加密的原理:读出文件中的字符,然后与自己输入的加密密码进行异或,然后写到新的文件中。解密过程与加密原理一样。

     

    程序编写如下:

     

    #include <stdio.h>

    #pragma hdrstop

    #include <tchar.h>

    #pragma argsused

    int _tmain(int argc, _TCHAR* argv[])

    {

           FILE *file1,*file2;

           int i;

           int paslen;

           char ch;

           char source[30],destin[30],password[10];

           printf("Please input the source file(less than 30 charcters):\n");

           gets(source);

           printf("please input the destination file(less than 30 charcters):\n");

           gets(destin);

           printf("please input the password(less than 10 ditigals):\n");

           gets(password);

           paslen=strlen(password);//获取密码长度

           if((file1=fopen(source,"rb"))!=NULL)

           {

                  printf("the source file %s opened successfully.\n",source);

                  if((file2=fopen(destin,"wb+"))!=NULL)

                  {

                         printf("the destination file %s created successfully\n",destin);

                         ch=fgetc(file1);

                         i=0;

                         while(ch!=EOF)

                         {

                                ch=ch^(password[i++]); //利用密码进行加密

                                if(i>=paslen)

                                i=0;

                                fputc(ch,file2);

                                ch=fgetc(file1);

                         }

                         fclose(file1);

                         fclose(file2);

                  }

                  else

                  {

                         printf("the destination file %s created error\n",destin);

                  }

           }

           else

           {

                  printf("the source file %s opened error.\n",source);

           }

           getchar();

           return 0;

    }

    就是这样一个简单的程序,就可以实现文件加密,你也可以试试,另外,您要是还有什么比较不错的方法的话,也可以给我推荐一下。

  • 相关阅读:
    NSURLConnection、NSURLSession
    引用自定义的framework
    iOS开发笔记
    NSFileManager文件管理
    SandBox+NSBundle
    CoreData基础
    SQLite3
    iOS中常见的设计模式——单例模式委托模式观察者模式MVC模式
    Runtime机制之结构体及操作函数
    数据结构之链表
  • 原文地址:https://www.cnblogs.com/cksis/p/2553699.html
Copyright © 2020-2023  润新知