简单的文件加密C语言代码实现

这篇具有很好参考价值的文章主要介绍了简单的文件加密C语言代码实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

加密算法通过对原文的每个字符进行异或运算来进行加密;解密时同样进行异或处理即可恢复到原文。

代码实现如下文章来源地址https://www.toymoban.com/news/detail-555133.html

#include<stdlib.h>
#include <stdio.h>

int getfilesize(char *path)
{ 
    FILE *pf = fopen(path, "r");
    if (pf == NULL)
    { 
        return -1;
    }
    else
    { 
        fseek(pf, 0, SEEK_END);
        int length = ftell(pf);
        return length;
    }
}

void EncryptFile(char *oldpath, char *newpath)
{ 
    int i = 0;
    FILE *pfr, *pfw;
    pfr = fopen(oldpath, "rb");
    pfw = fopen(newpath, "wb");
    if (pfr == NULL || pfw == NULL)
    { 
        fclose(pfr);
        fclose(pfw);
        return;
    }
    else
    { 
        int length = getfilesize(oldpath);
        char *p = (char *)malloc(length*sizeof(char));
        fread(p, sizeof(char), length, pfr);
        for (i = 0; i < length; i++)
        { 
            p[i] ^= 'A';
        }
        fwrite(p, sizeof(char), length, pfw);
        fclose(pfr);
        fclose(pfw);
    }
}
void DecryptFile(char *oldpath, char *newpath)
{ 
    int i = 0;
    FILE *pfr, *pfw;
    pfr = fopen(oldpath, "rb");
    pfw = fopen(newpath, "wb");
    if (pfr == NULL || pfw == NULL)
    { 
        fclose(pfr);
        fclose(pfw);
        return;
    }
    else
    { 
        int length = getfilesize(oldpath);
        char *p = (char *)malloc(length*sizeof(char));
        fread(p, sizeof(char), length, pfr);
        for (i = 0; i < length; i++)
        { 
            p[i] ^= 'A';
        }
        fwrite(p, sizeof(char), length, pfw);
        fclose(pfr);
        fclose(pfw);
    }
}
#if 0
void main()
{           
    // 原始文件的路径
    char *oldpath = "log.txt";
    // 加密后的路径
    char *newpath = "log-EecryptFile.dat";
    // 解密后的路径
    char *newDecryptFilepath = "log-DecryptFile.txt";
    EncryptFile(oldpath, newpath);
    DecryptFile(newpath, newDecryptFilepath);
}
#endif

到了这里,关于简单的文件加密C语言代码实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包