文件加解密,可另存文件

原创 2006年06月03日 21:14:00

/**********************************************************
  本人花了一下下午写的一个程序!文件加密程序可以自动转换
  输入的文本文件加密或者解密!可以选择保存到文件!
 
  <Edison wong>. QQ139767
**********************************************************/
#include <stdio.h>
#define N 10000
#define JIEMI -4-50+100
#define MI +4+50-100

void Nonetech(int len,char ch[]);
void tech(int len,char ch[]);
void Nonefun();
void fun();
void read();
void maindan();

void read()
{
 FILE *fp;
 char choose;
 char zu;
 char name[10];
 printf("**********************************************************/n");
 printf("请输入需要打开的文件:");
 gets(name);
 fp=fopen(name,"r");
 printf("转换后的明文是:");
 while(!feof(fp))
 {
  zu=fgetc(fp)JIEMI;
  if(zu!='-'&&zu!='#')
   putchar(zu);
 }
 putchar('/n');
 printf("**********************************************************/n");
 fclose(fp);
 printf("回主菜单?(Y)/n");
 scanf("%c",&choose);
 getchar();
 if(choose=='y'||choose=='Y')
  maindan();
}


void maindan()
{
 int a;
 printf("请选择:/n");
 printf("1,需要转换标点符号为密文!/n");
 printf("2,不需要转换标点符号,标点为明文!/n");
 printf("3,密文转换为明文!/n");
 printf("4,退出?(Y)/n");
 scanf("%d",&a);
 getchar();
 switch(a)
 {
 case 1:fun();break;
 case 2:Nonefun();break;
 case 3:read();break;
 case 'Y':break;
 case 'y':break;
 }
}
void Nonetech(int len,char ch[])
{
 int a;
 for(a=0;a<len;a++)
 {
  if(ch[a]==','||ch[a]=='.'||ch[a]=='!'||ch[a]=='/"'||ch[a]==' ')
   a++;
  ch[a]=ch[a]MI;
 }
}
void tech(int len,char ch[])
{
 int a;
 for(a=0;a<len;a++)
  ch[a]=ch[a]MI;
}
void Nonefun()
{
 char ch[N];char choose='y',tempa;char *p;
 while(choose=='y'||choose=='Y')
 {
  int len=0,a;FILE *fp;char name[10];
  printf("**********************************************************/n");
  printf("请输入要转换的明文(不转换标点符号),最后请以#符号结束输入:/n");
  gets(ch);
  p=ch;
  while(*p!='/0')
  {
   len++;
   p++;
  }
  if(ch[len-1]=='#')
  {
   Nonetech(len,ch);
   printf("转换后的密文是:");puts(ch);
   printf("是否保存?(Y)");
   tempa=getchar();
   if(tempa=='y'||tempa=='Y')
   {
    printf("输入预保存的文件名: ");
    scanf("%s",name);
    getchar();
    fp=fopen(name,"w");
    for(a=0;a<len;a++)
     fputc(ch[a],fp);
    fclose(fp);
    printf("OK!已经保存到当前目录下%s文件中./n",name);
   }
   else
    getchar();
  }
  else
   printf("错误!请在结尾输入符号#,否则无法进行转换!/n");
  printf("**********************************************************/n");
  printf("是否继续转换?(Y/N)/回主菜单(Z)/n");
  scanf("%c",&choose);
  getchar();
  if(choose=='z'||choose=='Z')
   maindan();
 }
}
void fun()
{
 char ch[N];char choose='y',tempa;char *p;
 while(choose=='y'||choose=='Y')
 {
  int len=0,a;FILE *fp;char name[10];
  printf("**********************************************************/n");
  printf("请输入要转换的明文,最后请以#符号结束输入:/n");
  gets(ch);
  p=ch;
  while(*p!='/0')
  {
   len++;
   p++;
  }
  if(ch[len-1]=='#')
  {
   tech(len,ch);
   printf("转换后的密文是:");puts(ch);
   printf("是否保存?(Y)");
   tempa=getchar();
   if(tempa=='y'||tempa=='Y')
   {
    printf("输入预保存的文件名: ");
    scanf("%s",name);
    getchar();
    fp=fopen(name,"w");
    for(a=0;a<len;a++)
     fputc(ch[a],fp);
    fclose(fp);
    printf("OK!已经保存到当前目录下%s文件中./n",name);
   }
   else
    getchar();
  }
  else
   printf("错误!请在结尾输入符号#,否则无法进行转换!/n");
  printf("**********************************************************/n");
  printf("是否继续转换?(Y/N)/回主菜单(Z)/n");
  scanf("%c",&choose);
  getchar();
  if(choose=='z'||choose=='Z')
   maindan();
 }
}

void main()
{
 maindan();
}

java ---- 文件读取文件另存为

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import javax....
  • a771948524
  • a771948524
  • 2013年12月02日 17:06
  • 2907

文件加解密操作

1. 前言老板之前布置的一个任务中有一个对文件进行加解密的需求,拖了好久都没做, 今天正好想起来,做了一下, 虽然遇到了一些问题, 但是做完之后的感觉是棒棒的呢。2. 基本思路 由于我们需要加密的目标...
  • zhyh1435589631
  • zhyh1435589631
  • 2016年11月08日 23:13
  • 997

打开文件,另存文件

最近遇到了一个问题: 问题描述见:http://topic.csdn.net/u/20090414/14/9323d850-1b98-4f51-879f-a70f9ebc8870.html?seed=...
  • zzw315
  • zzw315
  • 2009年04月14日 14:56
  • 334

维吉尼亚密码加解密(no 文件加解密)

#include #include void Encrypt(char P[],char K[],char a[]);//加密函数 void Decode(char C[],char K[],cha...
  • Lina_ACM
  • Lina_ACM
  • 2016年04月15日 16:05
  • 397

[vim] vim实现文件另存为

在linux系统上,vim编辑系统文件的时候,很多时候编辑结束才发现,没有权限写入文件。 vim实现文件另存为的功能 只要在:w 后面加上文件名字,就能把当前的编辑内容另存到其他文件中去。 :w...
  • jibing57
  • jibing57
  • 2012年10月24日 11:09
  • 14828

文件加解密

加密:static String Encrypt(String pwd) {DESCryptoServiceProvider desc = new DESCryptoServiceProvider()...
  • dcboy
  • dcboy
  • 2004年08月24日 10:58
  • 634

一个简单的Android文件加解密应用

本应用基于简单的casear加解密方法,同时具有简单的文件管理功能: 1、使用任意文件作为密钥或使用密码作为密钥; 2、同时对多个文件进行加解密; 3、文件剪切、拷贝、粘贴功能。 主界...
  • kuailedexingban
  • kuailedexingban
  • 2018年01月14日 10:23
  • 100

[置顶] Qt将文件保存到指定目录下(另存为的功能) .

因为Qt才开始入门。对文件的操作还不是很熟练。经过一段时间查找终于找出一些适用于入门的代码。     QDir d;     d.mkpath("D:/123");     file = new...
  • XIAO_PING_PING
  • XIAO_PING_PING
  • 2014年09月18日 23:24
  • 1771

基于文件过滤驱动的透明加解密

文件过滤驱动 一、文件透明加解密 关键字:透明、文件过滤驱动、加密标识,缓存   文件过滤驱动最重要的两点是搞定加密标识和缓存管理 1、透明概念: 透明指的是用户在...
  • anda0109
  • anda0109
  • 2015年10月20日 14:01
  • 2403

修复另存为时无法显示文件夹快捷方式的问题

前几日换了台主机,重新装系统,用的是YLMF的XpSp3系统,GHOST完了之后花了半天装OFFICE之类的,一切OK。预先说明一下,为了存一些垃垃杂杂的文件,我一般是在E盘下建一名为TEMP的文件夹...
  • bluewinding
  • bluewinding
  • 2009年07月30日 21:15
  • 4086
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件加解密,可另存文件
举报原因:
原因补充:

(最多只允许输入30个字)