C语言初学者可以做到的加密和解密

来源:互联网 发布:中国贸易顺差历年数据 编辑:程序博客网 时间:2024/04/29 23:21
通过这篇文章
大家可以尝试用C语言给熟人发个密文装逼。。。。。。。。。
比如说你可以发个密文文档和已经编译好的程序给他。当然你需要附上一份指南,教她怎么一步步解密,因为对方很可能是对编程不太了解的人。
也可以加深对c语言的理解


1,建立一个程序,把一个加密文档做为输入到特定的程序中,该程序会建立一个文档,在那里输出明文。这难道就是当前加密的始祖。。。。。。。。
例子:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define LEN 40
int main(int argc,char *argv[])
{
FILE *in,*out;
int ch;
char name[LEN];
int count=0;
if(argc<2)
{
fprintf(stderr,"Usage:%s filename\n",argv[0]);
exit(EXIT_FAILURE);
}
if((in=fopen(argv[1],"r"))==NULL)
{
fprintf(stderr,"I couldn't open the file \"%s\"\n",argv[1]);
exit(EXIT_FAILURE);
}
strncpy(name,argv[1],LEN-5);
name[LEN-5]='\0';
strcat(name,".red");
if((out=fopen(name,"w"))==NULL)
{
fprintf(stderr,"Can't create output file.\n");
exit(3);
}
while((ch=getc(in))!=EOF)
if(count++%3==0)
putc(ch,out);
if(fclose(in)!=0||fclose(out)!=0)
fprintf(stderr,"Error in closing files\n");
return 0;
}
当你把这个程序编译好以后。假设你的程序名为password 密文文档名jave
那么你输入:password java
注意你执行这个命令行的时候你要确定你已经编译好了这个C语言,并在该程序所在的文件夹里面使用命令符,同时确保密文文档和程序在同一个文件夹里面。
程序会创建一个名为java.txt的文档
里面出现的明文是从第一个字母,第三个字母,第五个字母。。。。。。。。。一直到结束
你可以通过改变代码也就是
while((ch=getc(in))!=EOF)
if(count++%3==0)
putc(ch,out);
来改变加密方法

原创粉丝点击