用c语言对文件进行加密

2023-11-14

用C语言对文件进行简单加密的操作,这里主要用的加密思路是破坏文件头,使得系统无法识别文件从而进行加密,最初的思路是将用户输入的加密口令转成ASCII码,再与文件头数据循环进行异或操作,从而破坏文件头数据,使得系统无法识别文件,而从安全性上来说,就算破译者拿到了用户的口令,他也无法知道我们拿了多少数据进行异或,从而提高了加密文件破译的安全性,若需要破译加密文件,不仅需要拿到用户的口令,在不知道具体加密数据位数时,只能对加密文件进行爆破异或,所以这种加密方式具有一定的安全性。
在具体实现的时候,以下仅给出最简单的实现方式,仅对文件头的20个字节的数据进行异或操作,且为了方便起见,这里假设用户的加密口令就是123,指定1.bmp文件进行加密和解密操作。本代码仅作加密文件思路参考,各位大佬可以根据自己的情况和需要加以补充,希望能对各位有所启发。
本文仅提供C语言简单加密文件的基本思路,我的后一篇文章对本代码的加解密算法进行了完善和补充,增强了加密文件的安全性,我本人更为推荐,这里放一个链接,需要的朋友也可以看一下C语言简单加密文件+

#include<stdio.h>
//全局变量的定义
unsigned short int res[10]; //储存加密后的数据,一个unsigned short int占两个字节
unsigned short int temp; //临时储存非加密数据
int length; //储存原文件长度
int i=0;
void encrypto()
{
FILE *fp1=fopen(“1.bmp”,“rb”); //这里可以改为用户输入路径文件,本程序

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用c语言对文件进行加密 的相关文章

  • 获取数组变量的地址是什么意思?

    今天我读到了一段让我很困惑的 C 代码片段 include
  • 为什么存在 async 关键字

    浏览 msdn 9 频道视频时 我发现以下未答复的评论 希望有人能解释一下 我不明白 async 关键字的意义 为什么不直接允许 任何时候方法返回任务时都会使用await关键字 就像迭代器一样 可以在任何返回 IEnumerable 的方法
  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什
  • System.IO.IOException:由于意外>数据包格式,握手失败?

    有谁知道这意味着什么 System Net WebException 底层连接已关闭 发送时发生意外错误 gt System IO IOException 由于意外 握手失败 数据包格式 在 System Net Security SslS
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知
  • 为什么 clang 使用 -O0 生成低效的 asm(对于这个简单的浮点和)?

    我正在 llvm clang Apple LLVM 版本 8 0 0 clang 800 0 42 1 上反汇编此代码 int main float a 0 151234 float b 0 2 float c a b printf f c
  • libxml2 xmlChar * 到 std::wstring

    libxml2似乎将所有字符串存储在 UTF 8 中 如xmlChar xmlChar This is a basic byte in an UTF 8 encoded string It s unsigned allowing to pi
  • C++ 插件的“最适合”动态类型匹配

    我有一个几乎所有东西都是插件的架构 该架构以图形用户界面为基础 其中每个插件都由一个 表面 即用户可以通过其与插件交互的 UI 控件 表示 这些表面也是插件 每当添加新插件时 瘦主机都会自动确定哪个可用表面与其最匹配的 UI 如何在 C 中
  • OpenCV 2.4.3 中的阴影去除

    我正在使用 OpenCV 2 4 3 最新版本 使用内置的视频流检测前景GMG http docs opencv org modules gpu doc video html highlight gmg gpu 3a 3aGMG GPU算法
  • C++ 错误 - “成员初始值设定项表达式列表被视为复合表达式”

    我收到一个我不熟悉的 C 编译器错误 可能是一个非常愚蠢的错误 但我不能完全指出它 Error test cpp 27 error member initializer expression list treated as compound
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • ASP.NET JQuery AJAX POST 返回数据,但在 401 响应内

    我的应用程序中有一个网页 需要调用我设置的 Web 服务来返回对象列表 这个调用是这样设置的 document ready function var response ajax type POST contentType applicati
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • 在 C++17 中使用 成员的链接错误

    我在 Ubuntu 16 04 上使用 gcc 7 2 并且需要使用 C 17 中的新文件系统库 尽管确实有一个名为experimental filesystem的库 但我无法使用它的任何成员 例如 当我尝试编译此文件时 include
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • C++、三元运算符、std::cout

    如何使用 C 用三元运算符编写以下条件 int condition1 condition2 condition3 int double result int or double std cout lt lt condition1 resul
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • 2023备战金三银四,Python自动化软件测试面试宝典合集(五)

    接上篇 八 抓包与网络协议 8 1 抓包工具怎么用 我原来的公司对于抓包这块 在 App 的测试用得比较多 我们会使用 fiddler 抓取数据检查结果 定 位问题 测试安全 制造弱网环境 如 抓取数据通过查看请求数据 请求行 请求报头 请
  • HTML——label标签

    label标签 是什么 label标签是HTML中的一个标签 用于为表单元素 如文本框 复选框等 提供标签或说明文本 通常与input标签配合使用 label标签可以通过for属性与相应的表单元素建立联系 这样当用户点击标签时 相应的表单元
  • 三、Python基础(高级变量类型篇)

    三 Python基础 高级变量类型篇 目录 三 Python基础 高级变量类型篇 一 列表 list 1 列表的定义 2 列表的常用方法和操作 对象 方法名 参数 3 for in对列表迭代遍历 4 利用 for in 的输出技巧 5 se
  • CPU占用100%的一般原因及解决办法

    转自 微点阅读 https www weidianyuedu com content 2517683835639 html 电脑关机故障速解 经常出现cPU占用100 的情况 主要问题可能发生在下面的某些方面 cPU占用率高的九种可能 1
  • 有奖调研

    历经五载 FISCO BCOS开源联盟链生态圈已汇聚超过3000家机构与企业 7万多名个人成员 大家秉持共建共享的开源精神 一同建设出FISCO BCOS在技术 应用和生态上的累累硕果 在这片天地里 我们与志同道合的伙伴交流技术 也发现了区
  • 关于类,你真的掌握了吗?(详细代码解读以及详细图解)

    目录 一 类和对象 二 类和类的实例化 三 类的成员 四 封装 五 构造方法 六 代码块 今日良言 既然选择了远方 便只顾风雨兼程 一 类和对象 1 类 具有相同特性 属性 和行为的对象的抽象 类是一个模板 2 对象 对象是人们要进行研究的
  • 多元线性回归方差分析表理解

    1 单因素一元方差分析的方法和案例 例子 案例的代码 X 533 580 525 600 570 650 500 因数I A F 实验组 CK标准 565 600 500 615 575 661 510 525 575 510 590 56
  • 四个视角,讲透额温枪应用设计中的运放问题

    3 月 12 号 世界卫生组织宣布新冠肺炎为全球性流行病 抗疫正从中国的 人民战争 变成一场 世界大战 很多事情正在微妙和快速的变化 额温枪和口罩一样 成为抗疫以及复产复工必不可少的日常用品 额温枪成了市场上炙手可热的产品 很多厂家开始步入
  • Top n 开源物理仿真引擎

    物理仿真引擎可以做为强化学习用 也可以做游戏等 列举主要几个开源的 pybullet Webots 开源早的 用户也多 比如 pybullet提供Python API 学习曲线较平缓 Nvidia的isaac 新开源不久 GPU支持好 Mu
  • 微信能上但浏览器无法上网

    微信能上但浏览器无法上网 问题描述 微信能聊天传文件 但是浏览器一直显示 未链接到互联网 问题描述 网络诊断提示 远程计算机或设备将不接受链接 出现这类问题 一般都是电脑打开了SSR代理服务 关闭了代理服务基本上就可以恢复正常上网了 解决方
  • Unity的C#编程教程_47_函数和方法

    C Functions and Methods Overview 1 Functions vs Methods 函数和方法其实就是一个东西 在 C 中通常称之为方法 方法 就是一块打包的代码 比如我们最常见的 就是在 Unity 中初始化
  • Mac git 命令自动提示

    1 首先安装配置Homebrew 注 如果已经安装过就跳过 在终端输入如下命令 usr bin ruby e curl fsSL https raw githubusercontent com Homebrew install master
  • 【GitLab】docker部署个人代码私服(开源gitlab)

    文章目录 前期准备 安装部署 拉取Gitlab镜像文件 创建容器挂在卷轴目录 运行镜像 修改配置文件 重启容器 使用说明 初次登陆 更改语言模式 创建新用户 邮件转发服务 总结 前期准备 准备一台CentOS7 8 以上版本的服务器 标配2
  • 编程题目:求二叉树的叶子结点个数(涉及前中序遍历,建树,叶子节点个数)

    以二叉链表作为二叉树的存储结构 求二叉树的叶子结点个数 输入格式 输入二叉树的先序序列 提示 一棵二叉树的先序序列是一个字符串 若字符是 表示该二叉树是空树 否则该字符是相应结点的数据元素 输出格式 输出有两行 第一行是二叉树的中序遍历序列
  • 关注深度学习代码

  • 【DA 03】Exploring Categorical Regularization for Domain Adaptive Object Detection (CVPR 2020)

    摘要 解决目标检测的域自适应问题 其中主要是source和target域之间的巨大差异 前人的工作主要在对齐image level和Instance level shifts Bias 07 DA Faster RCNN 然而 他们忽略去了
  • NO.55——Face Swapping with Python,dlib,openCV(换脸)

    摘要 早前看过国外博主的一篇用200行代码实现图像换脸操作的文章 主要通过仿射变换和调色的方法 原理呢 晦涩难懂 具体效果呢 其实也并不是很理想 至少要比直接调用Face 的人脸融合接口要差很多 用于学习图像处理相关的知识还是不错的 下一篇
  • IoT Studio场景最佳实践——实践类

    1 使用IoT Studio快速构建可视化应用 在物联网业务场景中设备数据可视化应用是最普遍的需求 阿里云物联网应用开发 IoT Studio 提供了Web可视化开发 移动可视化开发 业务逻辑开发与物联网数据分析等一系列便捷的物联网开发工具
  • js版飞机大战

    div div
  • 用c语言对文件进行加密

    用C语言对文件进行简单加密的操作 这里主要用的加密思路是破坏文件头 使得系统无法识别文件从而进行加密 最初的思路是将用户输入的加密口令转成ASCII码 再与文件头数据循环进行异或操作 从而破坏文件头数据 使得系统无法识别文件 而从安全性上来