| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 715 人关注过本帖
标题:命令加密法
只看楼主 加入收藏
ldy1204
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-9-1
收藏
 问题点数:0 回复次数:1 
命令加密法
在书上看到个程序,但对运行出来的结果不能理解,buf区是怎么就存入了数据的啊,还有gets(pwd)是什么用法啊?麻烦ggmm们看下了
/

* Note:Your choice is C IDE */
#include <stdio.h>
#include <stdlib.h>   
#define SIZE 64
void password(int fp,char *pd)    /* 加密算法 */
{
    int num,i,initread;    /* initread是fseek函数的指定开始位置 */
    long ig;
    char *st,buf[SIZE];
    st=pd;
    ig=filelength(fp);   /* 获取文件长度 */
    while(ig>0)
    {
        initread=0;
        num=fseek(fp,SIZE,initread);
        if(num)
        {
            i=0;
            while(*st&&(i<num))     /* 对SIZE个大小的字段加密处理 */
            {
                buf[i]=buf[i]^*st;   /* 进行异或运算 */
                st++;
                i++;
            }
        }
        initread+=SIZE;   /* 向后移SIZE个大小 */
        ig=ig-SIZE;
    }
}

char *cmd,*pwd;
main()
{   
    char name1,buf[40];
    int fp;
    while(1)
    {
        getcwd(buf,40);
        printf("%s>",buf);
        gets(cmd);
        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 encrpty\n");
             printf("password:");
             gets(pwd);
             if(*pwd)
                 password(fp,pwd);   /* 调用password函数加密 */    
             fclose(fp);
         }
     }         
}
搜索更多相关主题的帖子: 命令 
2008-09-03 16:21
葬烟
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-9-3
收藏
得分:0 
算法还是简单的,就是分段异或操作,连着两次异或就可以还原。不过程序里面没有写入加密后内容的部分,buf内容没有写入文件中。那个gets(pwd)就是读入密码。不过,试着编译了下,出现undefined reference to `filelength'错误。我是用的gcc4,看看有没有同好编译下看看吧。
2008-09-03 22:01
快速回复:命令加密法
数据加载中...
 
   



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

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