| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1340 人关注过本帖
标题:文件加密
只看楼主 加入收藏
石碣
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2019-6-23
结帖率:50%
收藏
 问题点数:0 回复次数:2 
文件加密
文件加密程序:将待加密文件以二进制打开,读入32个字节,分别与口令异或,在将4、5、6三个字分别与0xaaaa异或,即完成加密,执行第二次就解密
求各位大佬帮帮忙。
搜索更多相关主题的帖子: 文件 加密 异或 执行 解密 
2019-06-23 20:57
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
收藏
得分:0 
以前写得一个简单文件异或加密解密,你试着看下,对你是否有帮助。
#include <stdio.h>
#include <stdlib.h>
void encode(char* path_source, char* path_aim, unsigned char pwd);
void decode(char* path_source, char* path_aim, unsigned char pwd);
int main(void)
{
    unsigned char pwd = 230;
    char path_source[100] = "D:\\DEV C++\\ok.txt";
    char path_aim[100] = "D:\\DEV C++\\ok_encode.txt";
    encode(path_source, path_aim, pwd);
   /* char path_source[100] = "D:\\DEV C++\\ok_encode.txt";
    char path_aim[100] = "D:\\DEV C++\\ok_decode.txt";
    decode(path_source, path_aim, pwd); */
    return 0;
}
void encode(char* path_source, char* path_aim, unsigned char pwd)
{
    FILE* pf_source;//源文件指针
    FILE* pf_aim;//目标文件
   
    pf_source = fopen(path_source, "rb");//二进制,若是r,可能会有误差
                                         //源文件文件是可打开,并读取文件
       pf_aim = fopen(path_aim, "wb");//目标文件可打开,并写入文件
    if(NULL == pf_source || NULL == pf_aim)
    {
        printf("加密失败\n");
        return;
    }
    char ch = fgetc(pf_source);
    while(ch != EOF)
    {
        //加密处理
        ch = ch ^ pwd;
        fputc(ch, pf_aim);
        ch = fgetc(pf_source);
    }
    fclose(pf_source);
    fclose(pf_aim);
    printf("加密成功\n");
}
 void decode(char* path_source, char* path_aim, unsigned char pwd)
{
    FILE* pf_source;//源文件指针
    FILE* pf_aim;//目标文件
   
    pf_source = fopen(path_source, "rb");//二进制,若是r,可能会有误差
    pf_aim = fopen(path_aim, "wb");
    if(NULL == pf_source || NULL == pf_aim)
    {
        printf("解密失败\n");
        return;
    }
    char ch = fgetc(pf_source);
    while(ch != EOF)
    {
        //解密处理
        ch = ch ^ pwd;
        fputc(ch, pf_aim);
        ch = fgetc(pf_source);
    }
    fclose(pf_source);
    fclose(pf_aim);
    printf("解密成功\n");
}



[此贴子已经被作者于2019-6-23 21:41编辑过]


借用一下侯捷的话:勿在浮沙筑高台。
2019-06-23 21:39
石碣
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2019-6-23
收藏
得分:0 
谢谢
2019-06-24 08:02
快速回复:文件加密
数据加载中...
 
   



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

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