网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月18日漏签0天
c语言吧 关注:798,839贴子:4,357,404
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 9回复贴,共1页
<<返回c语言吧
>0< 加载中...

续文件加密(初学者天地)

  • 取消只看楼主
  • 收藏

  • 回复
  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
运行程序后,
把用户输入的一个源文件按照用户要求的密码加密,
如果要解密,对该文件使用同样的密码再次加密就可以了
需要掌握的是:
 srand()和rand()函数产生密钥,异或运算的使用和随机数的生成
这个实例要比上一个文件加密更安全一些:
#include <stdio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
  FILE *fp1,*fp2;
  char c,ch;
  long j;
   if(argc!=3)exit(0);
  fp1=fopen(argv[1],"rb");
  fp2=fopen(argv[2],"wb");
  if((fp1==NULL)||(fp2==NULL))
  {
    printf("cannot open file\n");
    exit(1);
  }
  printf("请输入密码:");
  scanf("%i",&j);
  srand(j);
  ch=fgetc(fp1);
  while(!feof(fp1))
  {
    c=rand();
    ch=ch^c;
    fputc(ch,fp2);
    ch=fgetc(fp2);
    ch=fgetc(fp1);
  }
  fclose(fp1);
  fclose(fp2);
  exit(0);
}


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
运行不了?
不会吧
你说的清楚点


2025-07-18 11:36:57
广告
  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
运行方法:
首先建立一个文件,
在起个名字如: b
在你的b文件里写点东西什么的
保存好
然后执行程序:
1,先输入你的程序名称如a
2,在a的后面空格b.txt空格u.txt(加密后的文件,是系统自动生成)
3,在输入密码,再打开u文集你就能看到加密后的内容了
4,要返回原文只需要把顺序改一下就可以了,不过密码要和你上次输入的一致
明白了么
如果还不懂你把你不懂的地方说出来


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你用的是什么编译器


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我测试过没问


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
i服了you


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
提示你什么错误?


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不好意思有点事现在才来
怎么你还运行不了么?
我想问你"执行不了里面的语句"
这句话是怎么回事?
是看不到结果还是.......
看来你的理解能力比我高出太多了
你请再说清楚点好


2025-07-18 11:30:57
广告
  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我真不知道在怎么给你解释了运行方法:
首先建立一个文件,
在起个名字如: b
在你的b文件里写点东西什么的
保存好
然后执行程序:
1,先输入你的程序名称如a
2,在a的后面空格b.txt空格u.txt(加密后的文件,是系统自动生成)
3,在输入密码,再打开u文集你就能看到加密后的内容了
4,要返回原文只需要把顺序改一下就可以了,不过密码要和你上次输入的一致
这样的运行方法还不够清楚么?
我建议你先按我上面写的方法一步一步来
不行,就下个tc在上面运行
要还不行,那就送你三个字'别学了'


  • c闲人
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我看啊
他连void main(int argc,char *argv[])
都不


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示