CBrother异或加密与C++异或加密函数
CBrother脚本异或加密与C++异或加密函数
异或对于数据加密来说是最简单的方式,在一般的安全性要求不是非常高的地方,异或加密是最好的选择。
C++异或加密代码
int g_PWD = 0xffee00aa; //密码
void XORBuf(char *data,int len)
{
int *buf = (int *)data;
int num = len >> ;//够4个字节的按整形异或
for (int i = ; i < num ; i++)
{
buf[i] ^= g_PWD;
} //不够4个字节的按位异或
int tailnum = len & 0x3;
if (tailnum > )
{
char *Byte = (char*)(buf + num);
char *key = (char*)&g_PWD; for (int k = ; k < tailnum ; k++)
{
Byte[k] ^= key[k];
}
}
}
CBrother异或加密代码
var g_PWD = 0xffee00aa; //全局密钥
function XORCode(byteArray,len)
{
var num = len >> 2;
var ilen = num * 4;
for (var i = 0 ; i < ilen ; i += 4) //够4个字节的
{
var b = byteArray.getByte(i) ^ (g_PWD & 255);
var b1 = byteArray.getByte(i + 1) ^ (g_PWD >> 8 & 255);
var b2 = byteArray.getByte(i + 2) ^ (g_PWD >> 16 & 255);
var b3 = byteArray.getByte(i + 3) ^ (g_PWD >> 24 & 255); byteArray.setByte(i,b);
byteArray.setByte(i + 1,b1);
byteArray.setByte(i + 2,b2);
byteArray.setByte(i + 3,b3);
} //下面处理不够四个字节的
var dlen = len - ilen;
if(dlen >= 1)
{
var b = byteArray.getByte(i) ^ (g_PWD & 255);
print b;
byteArray.setByte(i++,b);
} if(dlen >= 2)
{
var b = byteArray.getByte(i) ^ (g_PWD >> 8 & 255);
print b;
byteArray.setByte(i++,b);
} if(dlen >= 3)
{
var b = byteArray.getByte(i) ^ (g_PWD >> 16 & 255);
byteArray.setByte(i++,b);
}
}
对比一下还是很容易理解的
CBrother异或加密与C++异或加密函数的更多相关文章
- 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地
. 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地 本文来自异数OS社区 github: https://github.com/yds086/Here ...
- Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护
Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护 数据加密又称password学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文.而解密则是通过解密 ...
- IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现
看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous---------- ...
- 16位的MD5加密和32位MD5加密的区别
16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16 ...
- 加密解密知识 php非对称加密
function test1(){ $config = array( "digest_alg" => "sha1", "private_key_ ...
- java实现DES加密与解密,md5加密
很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 import java.io.IOException; import java.security.Messa ...
- DotNet加密方式解析--散列加密
没时间扯淡类,赶紧上车吧. 在现代社会中,信息安全对于每一个人都是至关重要的,例如我们的银行账户安全.支付宝和微信账户安全.以及邮箱等等,说到信息安全,那就必须得提到加密技术,至于加密的一些相关概念, ...
- DES加密深度优化——随机生成加密字符串
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法.但该算法一旦密钥固定,加密的字符串也就随之固定,这不利于数据存储安全.而且用该方法加密后有一个 ...
- php中des加密解密 匹配C#des加密解密 对称加密
原文:php中des加密解密 匹配C#des加密解密 对称加密 网上找来的 php des加密解密 完全匹配上一篇C# 字符串加密解密函数 可以用于C#和php通信 对数据进行加密,其中$key 是 ...
随机推荐
- redis介绍(5)主从复制
redis的主从复制: 主从复制介绍:redis的主从复制情况下,一个master节点下可以有多个slave节点,而且每个slave节点又可以有很多slave节点,形成很大的集群量级,我简单画个图,如 ...
- netty发送和接收数据handler处理器
netty发送和接收数据handler处理器 主要是继承 SimpleChannelInboundHandler 和 ChannelInboundHandlerAdapter 一般用netty来发送和 ...
- linux命令 zcat
zcat命令查看一个gzip格式的压缩文件zcat file.gz > test.txt 查看一个压缩文件的内容,并将内容 輸入到 文件test.txt zcat命令也可以解压缩数据,并把解压 ...
- Kubernetes简述
一.Kubernetes特性 1.自动装箱 建构于容器之上,基于资源依赖及其他约束自动完成容器部署且不影响其可用性,并通过调度机制混合关键型应用和非关键型应用的工作负载于一点以提高资源利用率. 2.自 ...
- Xcode 5.1 编译模拟器以及真机都能使用的静态库
Xcode 5.1.dmg 下载地址 http://pan.baidu.com/s/1jGJpKm6 1.新建 Framework & Library 工程 我起名叫ShowInfo,下面为其 ...
- 开源作业调度框架 - Quartz.NET - 实战使用1
简介: 第一步:下载Quartz.NET 下载Quartz.NET只需要打开网址选择适宜的版本进行下载解压缩即可. 目前最新版本是2.3.3,压缩包为6MB,不过鉴于国内网速.我还是加一下博客园的下载 ...
- codeforces 424D Biathlon Track
codeforces 424D Biathlon Track 题意 题解 代码 #include<bits/stdc++.h> using namespace std; #define f ...
- Apache2.2 + tomcat7 服务器集群配置
1.软件安装 1.1下载和安装apache Apache 2.2 :http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 1.2下载和安装 ...
- UE4中动画蒙太奇的合成
在游戏中的技能施法动作是可以通过软件合成的,笔者在这里介绍一种用UE4合成多个动画的操作. 在UE4中角色的动作可以由多种方式达成,一种是混合空间,例如角色的跑动和跳跃,其中的动作是由状态机控制的,原 ...
- 关于前端惰性加载(jquery_lazyload)的使用和原理分析
1.前言 有时我们会有这样的需求,当网页有很多张图片的时候,我们不希望一次性就把图片加载完,而是希望当浏览器滑动到指定位置的时候再加载,这样可以节省带宽,它也能帮助减轻服务器负载.那么这种需求就需要利 ...