c语言文件加密异或操作,用异或算法实现文件的简单加密
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
给文件加密的技术很多,其中又分为不同等级,以适合不同场合的需要.这里给出最简单的文件加密技术,即采用文件逐字节与密码异或方式对
文件进行加密,当解密时,只需再运行一遍加密程序即可.
下面是一个实例程序,能对任意一个文件进行加密,密码要求用户输入,限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语言文件加密异或操作,用异或算法实现文件的简单加密相关推荐
- java中的加密与安全——常见哈希算法总结,对称式加密及不对称式加密
目录 一.编码算法 1.URL编码 1.1.概念 1.2.代码示例(编码和解码)对URL中的中文进行编码 对URL中的中文进行解码 2.Base64编码 2.1.基本概念 2.2. 解码内容: 2.3 ...
- python加密字符串小写字母循环后错两位_Python简单加密程序:如何将Z循环回
我建议您使用模运算符来做您想要的.在python中是%字符.在模数数学中.X%Y告诉我们X/Y的余数是多少.例如.27%26是1.用这个你可以得到你想要的包裹.下面是加密单个字符的代码示例def en ...
- C语言利用异或操作对数据进行加密和解密操作
C语言利用异或操作对数据进行加密和解密操作 C语言异或加密实现的原理为,将任意值,与相同值两次异或后,结果与原值相同.所以可以通过将源数据与一个固定的值(秘钥key)异或后,得到密文,然后将密文再次与 ...
- c语言异或加密函数,用异或算法实现文件的简单加密
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给文件加密的技术很多,其中又分为不同等级,以适合不同场合的需要.这里给出最简单的文件加密技术,即采用文件逐字节与密码异或方式对 文件进行加密,当解密时,只 ...
- java 文件进行加密解密_java使用异或对文件进行加密解密
本文实例为大家分享了java使用异或对文件进行加密解密的具体代码,供大家参考,具体内容如下 1.使用异或的方式加密文件的原理 一个数异或另一个数两次,结果一定是其本身 2.使用异或的原理加密文件 /* ...
- c语言用异或清零,C语言异或操作的妙用
如果想要交换2个变量,一般的做法是引入第三个变量, 例如, temp = a; a = b; b= temp; 这样2个变量中的值就实现了交换.那能不能不引入其他变量就可以实现变量值的交换呢?答案是肯 ...
- 如何用C语言对文件进行简单加密
最近在完成大作业的时候需要实现一个用C语言对文件进行简单加密的操作,这里主要用的加密思路是破坏文件头,使得系统无法识别文件从而进行加密,最初的思路是将用户输入的加密口令转成ASCII码,再与文件头数据 ...
- 如何用C语言简单加密文件+
上一篇文章写完以后,收到了很多朋友的私信,希望我能写出一个较为完善的利用C语言简单加密文件的代码,今天花了点时间终于调试完了,相比于上一篇文章的代码的话这里做了一些改进: 1.加密文件的数据改为原文件 ...
- 计算机中异或操作计算什么意思,异或操作
在各种计算机语言中,如C.C++.java等,使用按位异或的思想执行的操作.异或逻辑的关系是:当AB不同时,输出P=1:当AB相同时,输出P=0."⊕"是异或数学运算符号,异或逻辑 ...
最新文章
- MAX487制作RS485总线接口模块
- Java入门(一):Hello World !
- 以太坊“拿下”世界银行(WB)!7300万美元债券将在下周完成结算
- 聊几个与赚钱相关的小事情
- android decorview动画,Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解...
- 隐藏的iscroll元素显示后不能滚动问题
- 树莓派(Raspberry Pi)搭建简单的lamp服务
- wsl使用ssh连接
- 谷歌 Chrome 浏览器怎样开启黑暗模式?
- HTML5+CSS大作业——端午节日(25页) 图片滚动
- 代码质量有哪些评判标准?
- 《预训练周刊》第24期:Infinite-former:无限记忆变换器、2500万悟道科研基金开始申请...
- 哥吃的不是饭,是农药~~!是化肥~~!是激素~!!
- 《小白兔到大黑牛》第十三篇maven中Hadoop中类的练习
- 【Android】实战图像识别:Compose + MLKit + CameraX
- 2021强烈推荐的十大Win10必备工具(重装系统必备)
- 国家天文台结盟阿里云:计算100亿光年的数字宇宙
- Codeforces暑期训练周报(7.21~7.27)
- C# 反射 实例化类
- 几乎全面的食品英文总结 (吃遍英文单词
热门文章
- 专有云传统HSF升级Pandora Boot开发
- 4.17杭州KubeMeet 开发者沙龙·云原生应用管理专场来啦!
- 认识代码编辑区域与解决方案区域 005
- 90页Numpy精华、算法刷题44天等内容整理
- Tuomas Pirinen:创造游戏人物的8个方法
- 来自Riot 的一份游戏美术教程(二):概念图
- 那些年,我在游戏开发中改过的bug:靠不住的OS和SDK
- VirtualBox压缩vmdk、vagrant打包box一口气全对
- 十一级指针实现百万qq号的增删查改以及排序写入
- Python基础——PyCharm版本——第二章、数据类型和变量(超详细)