该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

给文件加密的技术很多,其中又分为不同等级,以适合不同场合的需要.这里给出最简单的文件加密技术,即采用文件逐字节与密码异或方式对

文件进行加密,当解密时,只需再运行一遍加密程序即可.

下面是一个实例程序,能对任意一个文件进行加密,密码要求用户输入,限8位以内(当然你可以再更改).程序有很好的容错设计,这是我们应该

学习的.

/* Turbo 2.0 pass. give file a password! */

#include

#include

#include

#include

void dofile(char *in_fname,char *pwd,char *out_fname);/*对文件进行加密的具体函数*/

void main(int argc,char *argv[])/*定义main()函数的命令行参数*/

{

char in_fname[30];/*用户输入的要加密的文件名*/

char out_fname[30];

char pwd[8];/*用来保存密码*/

if(argc!=4){/*容错处理*/

printf("\nIn-fname:\n");

gets(in_fname);/*得到要加密的文件名*/

printf("Password:\n");

gets(pwd);/*得到密码*/

printf("Out-file:\n");

gets(out_fname);/*得到加密后你要的文件名*/

dofile(in_fname,pwd,out_fname);

}

else{/*如果命令行参数正确,便直接运行程序*/

strcpy(in_fname,argv[1]);

strcpy(pwd,argv[2]);

strcpy(out_fname,argv[3]);

dofile(in_fname,pwd,out_fname);

}

}

/*加密子函数开始*/

void dofile(char *in_fname,char *pwd,char *out_file)

{

FILE *fp1,*fp2;

register char ch;

int j=0;

int j0=0;

fp1=fopen(in_fname,"rb");

if(fp1==NULL){

printf("cannot open in-file.\n");

exit(1);/*如果不能打开要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb");

if(fp2==NULL){

printf("cannot open or create out-file.\n");

exit(1);/*如果不能建立加密后的文件,便退出*/

}

while(pwd[++j0]);

ch=fgetc(fp1);

/*加密算法开始*/

while(!feof(fp1)){

fputc(ch^pwd[j>=j0?j=0:j++],fp2);/*异或后写入fp2文件*/

ch=fgetc(fp1);

}

fclose(fp1);/*关闭源文件*/

fclose(fp2);/*关闭目标文件*/

}

/*程序结束*/

c语言文件加密异或操作,用异或算法实现文件的简单加密相关推荐

  1. java中的加密与安全——常见哈希算法总结,对称式加密及不对称式加密

    目录 一.编码算法 1.URL编码 1.1.概念 1.2.代码示例(编码和解码)对URL中的中文进行编码 对URL中的中文进行解码 2.Base64编码 2.1.基本概念 2.2. 解码内容: 2.3 ...

  2. python加密字符串小写字母循环后错两位_Python简单加密程序:如何将Z循环回

    我建议您使用模运算符来做您想要的.在python中是%字符.在模数数学中.X%Y告诉我们X/Y的余数是多少.例如.27%26是1.用这个你可以得到你想要的包裹.下面是加密单个字符的代码示例def en ...

  3. C语言利用异或操作对数据进行加密和解密操作

    C语言利用异或操作对数据进行加密和解密操作 C语言异或加密实现的原理为,将任意值,与相同值两次异或后,结果与原值相同.所以可以通过将源数据与一个固定的值(秘钥key)异或后,得到密文,然后将密文再次与 ...

  4. c语言异或加密函数,用异或算法实现文件的简单加密

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给文件加密的技术很多,其中又分为不同等级,以适合不同场合的需要.这里给出最简单的文件加密技术,即采用文件逐字节与密码异或方式对 文件进行加密,当解密时,只 ...

  5. java 文件进行加密解密_java使用异或对文件进行加密解密

    本文实例为大家分享了java使用异或对文件进行加密解密的具体代码,供大家参考,具体内容如下 1.使用异或的方式加密文件的原理 一个数异或另一个数两次,结果一定是其本身 2.使用异或的原理加密文件 /* ...

  6. c语言用异或清零,C语言异或操作的妙用

    如果想要交换2个变量,一般的做法是引入第三个变量, 例如, temp = a; a = b; b= temp; 这样2个变量中的值就实现了交换.那能不能不引入其他变量就可以实现变量值的交换呢?答案是肯 ...

  7. 如何用C语言对文件进行简单加密

    最近在完成大作业的时候需要实现一个用C语言对文件进行简单加密的操作,这里主要用的加密思路是破坏文件头,使得系统无法识别文件从而进行加密,最初的思路是将用户输入的加密口令转成ASCII码,再与文件头数据 ...

  8. 如何用C语言简单加密文件+

    上一篇文章写完以后,收到了很多朋友的私信,希望我能写出一个较为完善的利用C语言简单加密文件的代码,今天花了点时间终于调试完了,相比于上一篇文章的代码的话这里做了一些改进: 1.加密文件的数据改为原文件 ...

  9. 计算机中异或操作计算什么意思,异或操作

    在各种计算机语言中,如C.C++.java等,使用按位异或的思想执行的操作.异或逻辑的关系是:当AB不同时,输出P=1:当AB相同时,输出P=0."⊕"是异或数学运算符号,异或逻辑 ...

最新文章

  1. MAX487制作RS485总线接口模块
  2. Java入门(一):Hello World !
  3. 以太坊“拿下”世界银行(WB)!7300万美元债券将在下周完成结算
  4. 聊几个与赚钱相关的小事情
  5. android decorview动画,Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解...
  6. 隐藏的iscroll元素显示后不能滚动问题
  7. 树莓派(Raspberry Pi)搭建简单的lamp服务
  8. wsl使用ssh连接
  9. 谷歌 Chrome 浏览器怎样开启黑暗模式?
  10. HTML5+CSS大作业——端午节日(25页) 图片滚动
  11. 代码质量有哪些评判标准?
  12. 《预训练周刊》第24期:Infinite-former:无限记忆变换器、2500万悟道科研基金开始申请...
  13. 哥吃的不是饭,是农药~~!是化肥~~!是激素~!!
  14. 《小白兔到大黑牛》第十三篇maven中Hadoop中类的练习
  15. 【Android】实战图像识别:Compose + MLKit + CameraX
  16. 2021强烈推荐的十大Win10必备工具(重装系统必备)
  17. 国家天文台结盟阿里云:计算100亿光年的数字宇宙
  18. Codeforces暑期训练周报(7.21~7.27)
  19. C# 反射 实例化类
  20. 几乎全面的食品英文总结 (吃遍英文单词

热门文章

  1. 专有云传统HSF升级Pandora Boot开发
  2. 4.17杭州KubeMeet 开发者沙龙·云原生应用管理专场来啦!
  3. 认识代码编辑区域与解决方案区域 005
  4. 90页Numpy精华、算法刷题44天等内容整理
  5. Tuomas Pirinen:创造游戏人物的8个方法
  6. 来自Riot 的一份游戏美术教程(二):概念图
  7. 那些年,我在游戏开发中改过的bug:靠不住的OS和SDK
  8. VirtualBox压缩vmdk、vagrant打包box一口气全对
  9. 十一级指针实现百万qq号的增删查改以及排序写入
  10. Python基础——PyCharm版本——第二章、数据类型和变量(超详细)