核心代码:

char encrypt( char f , char c)
{
return f^c;
}
 int OutEncrypt( char *FilePath, char *SecretWord )
{
FILE * fp ;
FILE * fp1;
char *p= FilePath , *s= SecretWord;
//char fn[128], *p = fn, ps[10], *s = ps; //fn[128]存放加密文件路径,ps[10]存放密码
char ch;
char *tm = "C:\\temp.temp"; //存放临时文件 if(( fp = fopen(p,"rb") )== NULL || ( fp1 = fopen(tm,"wb") ) == NULL )
{
return 0; //加密失败
} ch = fgetc(fp);
while( !feof(fp) )
{
s = SecretWord;
while( *s != '\0' )
{
ch = encrypt( ch, *s++ );
fputc( ch, fp1 );
ch = fgetc(fp);
}
}
fclose( fp );
fclose( fp1);
remove(p);
rename(tm, p); return 1; //加密成功
}

可以将此加密方案做成.dll格式用于其它项目使用,如:C#,Windows编程,MFC编程中

创建.dll工程下载地址:http://download.csdn.net/detail/qq2399431200/6274867

一个异或加密方案--C语言实现的更多相关文章

  1. C# .net 语言加密方案

    C# .net 语言加密方案 方案背景 当前C# .net语言的应用范围越来越广泛,IIS 的服务器架构后台代码.桌面应用程序的 winform .Unity3d 的逻辑脚本都在使用.C# .net ...

  2. 基于HTTP在互联网传输敏感数据的消息摘要、签名与加密方案

    基于HTTP在互联网传输敏感数据的消息摘要.签名与加密方案 博客分类: 信息安全 Java 签名加密AESMD5HTTPS  一.关键词 HTTP,HTTPS,AES,SHA-1,MD5,消息摘要,数 ...

  3. 如何保护你的 Python 代码 (一)—— 现有加密方案

    https://zhuanlan.zhihu.com/p/54296517 0 前言 去年11月在PyCon China 2018 杭州站分享了 Python 源码加密,讲述了如何通过修改 Pytho ...

  4. Java实现一个简单的加密解密方法

    Crypto是Java语言写的一个简单的加密解密方法. 使用方法: 加密方法 String cipherte=Enande.encrypt(content, pass): 解密方法 Enande.de ...

  5. lua 代码加密方案

    require 实现 require函数在实现上是依次调用package.searchers(lua51中是package.loaders)中的载入函数,成功后返回.在loadlib.c文件里有四个载 ...

  6. [原创]aaencode等类似js加密方案破解方法

    受http://tieba.baidu.com/p/4104806767 2L启发,不过他说的方法,我没有尝试成功,自己摸索出了一个新方法,在这里分享下. 首先拿aaencode官网的加密字符串作为例 ...

  7. 异或加密 - cr2-many-time-secrets(攻防世界) - 异性相吸(buuctf)

    Crib dragging attack 在开始了解 Crib dragging attack 之前,先来理一理 异或. 异或加密 [详情请戳这里] XOR 加密简介 异或加密特性: ① 两个值相同时 ...

  8. CKKS加密方案

    本文内容来自"Protecting Privacy throughHomomorphic Encryption",主要学习里面的CKKS部分. CKKS是一种同态加密方案,其安全性 ...

  9. 一个UUID生成算法的C语言实现 --- WIN32版本 .

    一个UUID生成算法的C语言实现——WIN32版本   cheungmine 2007-9-16   根据定义,UUID(Universally Unique IDentifier,也称GUID)在时 ...

随机推荐

  1. JavaSE复习日记 : 多态

    /** * 里氏替换原则 : * 能使用父类的地方,一定可以使用子类 * 什么是多态 : * 父类的引用,指向子类的对象 * 多态的前提条件 : * 有继承关系的两个类 * 多态的目的 : * ☆☆☆ ...

  2. gdb 命令使用

    1.gdb -x command.txt 每次重复输入命令很麻烦,可以使用上面的命令,把命令输入进command.txt里面,然后直接就可以执行gdb. 2.list 2.1 list functio ...

  3. Java的跨平台原理

    JAVA的跨平台原理 JAVA的跨平台原理 Java是一种简单易用.完全面向对象.有平台无关性.安全可靠的.主要面向Internet的开发工具.Java自从1995年正式面世以来,它的快速发展已经使整 ...

  4. .NET(C#):在数组成员上加入XmlElement特性

    原文 www.cnblogs.com/mgen/archive/2011/12/04/2276131.html 当对如下类进行XML序列化时: publicclassa { }; } 结果会是: &l ...

  5. HDU 1076 An Easy Task

    题解:枚举即可…… #include <cstdio> int main(){ int now,y,n,T,count; scanf("%d",&T); whi ...

  6. 基于视觉的Web页面分页算法VIPS的实现源代码下载

    基于视觉的Web页面分页算法VIPS的实现源代码下载 - tingya的专栏 - 博客频道 - CSDN.NET 基于视觉的Web页面分页算法VIPS的实现源代码下载 分类: 技术杂烩 2006-04 ...

  7. JAVA词汇大全

    JAVA词汇大全 A B C D E F H I J L M O P R S T U V W A  Abstract Window Toolkit(AWT)抽象窗体工具集   一个用本地图形组件实现的 ...

  8. C++中delete 和delete[]的区别

    c++告诉我们在回收new分配的单个对象的内存空间的时候用delete,   回收new[ ]分配的一组对象的内存空间的时候用 delete[ ]; #include <iostream> ...

  9. 关于js封装框架类库之属性操作

    在对DOM对象操作时,往往都要涉及到其属性的操作,为了提高开发效率,同时兼顾浏览器的性能,在这简单的封装了几个常见的属性.因为是模块化,在这只是引入了部分代码,其他代码在前几篇模块封装中有写.如有不足 ...

  10. eclipse自动生成的appcompat_v7出错

    用eclipse新建Android工程时,自动生成的appcompat_v7出错,有个红色交叉,而且新建的Android工程有一个红色感叹号. 这时你去看看你新建的Android工程是不是没有生成R文 ...