范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

通过C语言实现TXT文本加密解密

  TXT文本加密
  忘了是可以加密几兆以下的文本了,自己去看程序,好像是8m还是16m以下,加密个电子书绰绰有余了,加密完会生成一堆乱码,想要解密需要用程序将乱码改回来,程序很简单,但是很实用,有了它你可以放心地看小说,我们那个年代的苦楚,啧啧啧啧。觉得有用的,帮忙点个赞32位系统win-tc可以编译,64位win-tc不可用,64位系统可以用turbo-c编译,但是编译出的程序还得在32位系统下运行,64位系统想运行程序的话需要下载dosbox进行运行。
  程序如下
  1234.c:
  -----------
  /* HELLO.C -- Hello, world */
  #include "stdio.h"
  #include "conio.h"
  #include "stdlib.h"
  #include "cjiami.c"
  #include "cjiemi.c"
  #include "ejiami.c"
  #include "ejiemi.c"
  #define BitGet ((ch & (1<<(7))) == (1<<(7))) /* 用来判断最高位是1还是0 */
  main()
  {
  char ch;
  void lock();
  void unlock();
  printf("lock a file,please enter 1 unlock a file,please enter 2 ");
  d: ch=getchar();
  if(ch=="1") lock();
  else if(ch=="2") unlock();
  else
  {
  printf("please enter 1 or 2 ");
  getch();
  goto d;
  }
  }
  void lock()
  {
  FILE *fp1,*fp2;
  char infile[10],outfile[10],ch,key1[11],key2[11];
  int j,d,pc;
  long length,i ;
  printf("please enter infile name: ");
  scanf("%s",infile);
  if((fp1=fopen(infile,"r"))==NULL)
  {printf("cannot open infile ");
  getch();
  exit(0);
  }
  printf("please enter outfile name: ");
  scanf("%s",outfile);
  if((fp2=fopen(outfile,"w"))==NULL)
  {printf("cannot open outfile ");
  getch();
  exit(0);
  }
  printf("please set your password(length<=10bit): ");
  scanf("%s",key1);
  printf("please write your password again ");
  re: for(i=0;i<12;i++) /*初始化key2*/
  key2[i]=0;
  scanf("%s",key2);
  for(i=0;key1[i]!="";i++)
  if(key1[i]!=key2[i])
  {
  printf("password wrong,please rewrite it");
  goto re;
  }
  if(key1[i]!=key2[i]) /*防止key1的不与key2的对应*/
  {
  printf("password wrongq,please rewrite it");
  goto re;
  }
  length=i;
  printf("password has been set rightly");
  for(i=0;(ch=fgetc(fp1))!=EOF;i++)
  {
  d=key1[i%(length-1)]-48;
  if(BitGet)
  ch=cjiami(ch,d);
  else if((ch>=33)&&(ch<=126)) ch=ejiami(ch,d);
  fputc(ch,fp2);
  }
  fclose(fp1);
  fclose(fp2);
  getch();
  }
  void unlock()
  {
  FILE *fp1,*fp2;
  char infile[10],outfile[10],key[11],ch;
  int j,d,pc;
  long length,i ;
  printf("please enter infile name: ");
  scanf("%s",infile);
  if((fp1=fopen(infile,"r"))==NULL)
  {printf("cannot open infile ");
  getch();
  exit(0);
  }
  printf("please enter outfile name: ");
  scanf("%s",outfile);
  if((fp2=fopen(outfile,"w"))==NULL)
  {printf("cannot open outfile ");
  getch();
  exit(0);
  }
  printf("input password(length<=10bit) ");
  scanf("%s",key);
  for(i=0;key[i]!="";i++);
  length=i;
  for(i=0;(ch=fgetc(fp1))!=EOF;i++)
  {
  d=key[i%(length-1)]-48;
  if(BitGet)
  ch=cjiemi(ch,d);
  else if((ch>=33)&&(ch<=126)) ch=ejiemi(ch,d);
  fputc(ch,fp2);
  }
  fclose(fp1);
  fclose(fp2);
  getch();
  }
  ------------------------------------------------------------------------------
  cjiami.c文件:
  -------------
  char cjiami(char ch,int d)
  { char ah;
  int bh;
  ah=ch-d;
  return(ah);
  }
  ------------------------------------------------------------------------------
  cjiemi.c文件:
  -------------
  char cjiemi(char ch,int d)
  {
  char ah;
  ah=ch+d;
  return(ah);
  }
  ------------------------------------------------------------------------------
  ejiami.c文件:
  -------------
  char ejiami(char ch,int d)
  { char ah;
  ah=ch-d;
  if(ah<33) ah=ah+126-32;
  return(ah);
  }
  ------------------------------------------------------------------------------
  ejiemi.c文件:
  -------------
  char ejiemi(char ch,int d)
  {
  char ah;
  ah=ch+d;
  if(ah>126) ah=ah-126+32;
  return(ah);
  }
  -----------------------------------------------
  作者:闲听落红不忍眠

红米确认全球首发联发科天玑1200!这次性能居然这么猛?天玑1200发布会于今天正式开始举行,所有的期待与猜测都将揭晓答案。从天玑1200的表现来看,A78超大核,相比天玑1000性能提升了22,能效提升了25GPU性能升级幅度相对较小那个曲面不是指屏幕?OPPOFindX3最新爆料看点十足在智能手机普遍追求配置的时代,人们对于手机外形的审美并没有太多的要求,而OPPOFind系列的出现可以说将设计美感推向了手机领域的顶点,Find系列因此也有了前沿科技美学的基因。对持续推动技术创新,高通携手合作伙伴将5G扩展至更多领域通信行业有一句话,4G改变生活,5G改变社会,5G改变的不只是生活,还将改变千行百业。而高通也在利用自己的创新性优势,基于5G技术持续突破技术边界,并携手合作伙伴触及千行百业。回顾内存市场迎来强敌!七彩虹新代神条未出先火,电竞党外星人性能在DIY电脑市场上面,显卡和CPU两大的核心相信各位都早已了解,但是在DIY电脑部件里面,内存条作为电脑的核心部件之一,它对于整机的性能提升一点都不弱于显卡和CPU。如今的内存条市屏幕出新物种,OPPO又一折叠屏技术曝光,体验碾压普通手机?折叠屏手机的出现,彻底打破了智能手机搬砖的形象。不过目前折叠屏手机产品市场反馈并不好,耐用性问题,手机重量较大等问题一直得不到很好地解决。而作为世界知名手机生产商的OPPO,很早就教科书级的顶配?从外观到性能全部拉满,FindX3今晚亮相要说最近机圈关注度最高的机型是哪款?恐怕非OPPOFindX3系列莫属,自从官宣3月11日正式发布之后,对其有关爆料也层出不穷,最大化地拉升了人们对FindX3系列的期待。如今距离A股下半年开局不利,两大板块危险升高七月伊始,2021年下半年金融市场的下半程拉开序幕,但是A股市场在7月开局,却没有延续6月份的上涨行情。周五,A股市场出现较大幅度的下挫,上证50领跌大盘,直到收市上证50下跌了3欧佩克达成协议后,原油价格暴跌原油价格在美国市场周一早盘下跌5,西德克萨斯(WTI)原油期货跌至每桶67美元,此前OPEC周日决定,从8月起,欧佩克将每月增产40万桶,到今年年底,日产量将增加约200万桶。这产iPhone11价格降至4千价位,一个月销量超百万台现在5G手机在手机市场的呼声越来越高,得到了许多人的关注,就在最近刚刚上市的几款新机中,超过一半的机型能够使用5G网络,特别是那些全新的旗舰机的5G机型。但是在这种情况下,苹果做出别只看价格体验才重要,这三款手机不妨看一看第一华为Mate40Pro可能很多人好奇华为Mate40Pro为什么相对来讲价值很高呢?仅仅是因为公认吗?很多人都在追求这款手机,但是一直都没能成功抢到,还是在线下预约的情况操作。鸿蒙系统优先支持四种机型,看看有你在用的吗?自从今年下半年开始,华为鸿蒙OS的消息逐渐变得越来越多。手机版将与大家见面的消息简直是五花八门。特别是在每年都会举行的开发者大会上,余承东表示华为鸿蒙OS2。0有了全新的突破,这一
未来买房居住,哪些城市是首选?国内主要城市的性价比(将城市的房价和各城市所提供的医疗和教育服务质量进行比较)在下图中,用房价收入比反映城市的房价高低,横轴表示,而纵轴则表示医疗和教育服务的质量水平。国内各城市的继谷歌百度后,旷视将AI生产力平台开放,加速人工智能落地文杨剑勇今年,注定是一个不平凡的年份,因新冠病毒带来的大流行疫情,世界经济陷入困境,企业经营也受到巨大挑战,面向消费者服务零售业旅游运输等诸多行业受到严重挑战,营收与利润遭遇重挫。产业智能化浪潮,BAT开启云端竞赛,AI是核心竞争力文杨剑勇今年,新冠病毒疫情在全球蔓延,引发各国经济遭遇下滑。中国作为全球第二大经济体,因积极推进新型基础设施建设,以5G人工智能物联网等新技术作为信息基础设施,为经济释放增长动力。奋起直追现代IONIQ5全球首发最大续航600公里今日,现代汽车IONIQ5全球首秀,新车定位于纯电动中型CUV,基于EGMP电动化全球模块型平台打造,是现代汽车电动汽车专属品牌IONIQ(艾尼氪)旗下首款量产车型,因更长轴距(3成本更低?你得有市场!印度以比中国更便宜生产成本吸引特斯拉印度交通部长尼丁加德卡里北京时间3月3日消息,据国外媒体报道,印度交通部长尼丁。加德卡里(NitinGadkari)对路透社表示,该国准备提供激励措施,以低于中国的生产成本吸引特斯经济迈向高质量发展,新技术为智能经济注入新动能文杨剑勇全球因为新冠疫情,引发全球经济倒退,预计2020年全球经济下降4。4,这一预测来自国际货币基金组织对世界经济展望。全球各主要经济体均遭受不同轻度下滑,只有中国保持增长格局,百度AI发布2020年度总结,长文呈现技术突破与产业应用全景转眼间,2020已经接近尾声。这一年,有很多变化,也有许多不变的信念与坚守。12月30日,百度发布百度AI的2020,以一篇万字长文回顾与总结过去的一年。CTO王海峰总结百度AI在奥迪Skysphere概念车正式发布配备可变轴距技术日前,奥迪品牌官方正式发布全新概念车型奥迪Skysphere官图。新车定位为双门电动敞篷车,将奥迪品牌最新的设计理念,以及品牌未来的生态元素结合在一起,并将L4级自动驾驶和数据生态云计算成基础设施阿里云通过做好服务,加速政企数字化转型文杨剑勇2020年,我数字经济规模达到39。2万亿元,占GDP比重达到38。6,这一数据来自中国信息通信研究院。需要指出的是,过去一年,是一个不平凡的年份,人们的生活和工作带来诸多四大无线技术影响未来WiFi仍然是伟大的存在未来世界将只有4种开放无线标准。被业界誉为WiFi之父的CeesLinks近日在深圳一语惊人,他预言说未来的世界只有4种开放式无线连接技术将会胜出,它们分别是蓝牙WiFiZigbe中风13年,为什么他说这是发生在他身上最积极的事情?书名就引人入胜的足以让人静下心来好好读读。当面对困难失败挫折,我们总会抱怨自己差点天时地利人和的运气,但不妨想想是不是我们缺少了一点正向思考的勇气和魄力呢?身在井隅,心向璀璨。本书