| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:伪随机数文件加密法的问题
取消只看楼主 加入收藏
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:1 
伪随机数文件加密法的问题
程序代码:
#include <stdio.h>
#include <stdlib.h>
union
{
int value;
struct
{
  char first;
  char second;
}fran;
}num;
main()
{  
FILE *fp,*name2;         /* name2位加密存放的文件 */
int i,t,len,k1,k2,k3,k4,k5;
float j;
char name1,buf[60000];   /* name1位用户输入的要进行加密的文件 */
printf("\n input filename that you want to lock or open:");
scanf("%s",name1);
if((fp=fopen(name1,"rb"))==NULL)      /* 以只读的方式打开一个二进制文件 */
  {
   printf("File cannot be opened\n");
   exit(1);
  }
else
   printf("File opened for encrypt\n");
j=filelength(name1);
printf("\ninput key1:");
gets(k1);
printf("\ninput key2:");
gets(k2);
printf("\ninput key3:");
gets(k3); 
srand(k1);
for(i=0;i<k2;i++)
{
  k4=rand();
}
k5=(k3+k2)/2;
for(i=0;i<j;i++)
{
  num.value=rand();
  if(num.fran.first<=33)
   num.fran.first=num.fran.first+33;
  buf[i]=num.fran.first^buf[i];        /* 进行异或运算 */
}
fopen(name2,"wb");   /* 以只写的方式建立一个二进制文件存放加密后的文件 */
fputs(buf,name2);             
printf("\nFile is already encrypted");
fclose(name1);      /* 关闭文件 */
fclose(name2);
}
下面这部分的代码我有点不懂,哪位大侠解答下!
程序代码:
srand(k1); 
for(i=0;i<k2;i++)
{


 k4=rand();
}
k5=(k3+k2)/2;
for(i=0;i<j;i++)
{
  num.value=rand();
  if(num.fran.first<=33)
   num.fran.first=num.fran.first+33
搜索更多相关主题的帖子: 伪随机数 文件 
2010-11-22 21:00
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 2楼 xiaomarn
程序代码:
 srand(k1);
    for(i=0;i<k2;i++)
    {
        k4=rand();
    }
    k5=(k3+k2)/2;
    for(i=0;i<len;i++)
    {
        num.value=rand();
        if(num.fran.first<=33)
            num.fran.first=num.fran.first+33;
这是什么意识啊,能解释下吗?

付出终将有回报!Ibelieve!
2010-11-22 22:28
快速回复:伪随机数文件加密法的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024830 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved