| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1354 人关注过本帖
标题:求大佬帮助,编写一个简单的文件加密与解密
只看楼主 加入收藏
rightar
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-1-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求大佬帮助,编写一个简单的文件加密与解密
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 编写 文件 加密 解密 
2018-01-10 22:10
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:7 
给你个基本思路,具体的实现方法有很多,不知道你有什么需求
1. 二进制打开文件,一个一个字节读入
2. 对于读入的数据进行相应的处理
3. 处理之后用二进制打开新的文件,一个一个字节写入
解密也是相同的步骤
你可以尝试读一下实现 Huffman 编码的代码,既做到了加密,也做到了压缩
2018-01-10 22:16
rightar
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-1-10
收藏
得分:0 
回复 2楼 Jonny0201
我是初学者,还是不懂。。。。
2018-01-11 08:01
爱编程的书生
Rank: 2
等 级:论坛游民
威 望:1
帖 子:6
专家分:23
注 册:2018-1-10
收藏
得分:7 
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define KEY 0x11 

 
/*
简单的可以使用异或加密,根据异或的特点
0^1=1,1^1=0,0^0=0

  A^B=S;   第一次加密S为加密后的字符
  S^B=A^B^B=A^0=A  第二次加密可见得到原来的数据
   
B则相当于密匙,即本程序的KEY 
*/

//对单个字符加密 
char encryptChar(char c){
    c=c^KEY;
    return c;
}

//加密解密函数,调用一次加密,调用两次解密 
char* encryptString(char *c){
    char *p=c;
    while(*p!='\0'){
        *p=encryptChar(*p);
         p++;
    }
    return c;
}

int main(){
    
    char temp[128];
    puts("请输入要加密的字符串:");
    gets(temp);
    
    encryptString(temp);    //加密 
    puts("加密后的字符串为:");    
    puts(temp);
    
    encryptString(temp);    //解密 
    puts("解密后的字符串为:");    
    puts(temp);
    
    return 0;
}



在相应的字符串添加文件的输入输出操作就行了

[此贴子已经被作者于2018-1-11 15:30编辑过]

2018-01-11 15:29
rightar
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-1-10
收藏
得分:0 
回复 4楼 爱编程的书生
哇...感谢感谢,谢谢大佬
2018-01-12 08:14
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:7 
据说还有哈希加密(不过哈希加密往往没有唯一解),还有压缩也是一种加密,当然其它可以搜搜密码学方面的~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-01-12 11:44
快速回复:求大佬帮助,编写一个简单的文件加密与解密
数据加载中...
 
   



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

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