一种加密,解密的思路
加密的一种思路:
1. 客户端有个初始key,这个key先加密(异或)4个字节内容,生成4个字节的密文
2. 根据4个字节的密文,算法产生新key2, 使用key2解密下一段 4个字节的内容, 以此类推
对应的解密:
1. 服务器本身知道初始key
2. 服务器先根据4个字节的密文,使用客户端相同的算法产生key2
3. 使用key 解密第一段4个字节
4.以此类推, 使用key2解密第二段密文
#include <stdio.h> #define WORD unsigned short
#define DWORD unsigned intDWORD g_dwPacketKey = 666;WORD SeedRandMap(WORD wSeed)
{DWORD dwHold = wSeed;return (WORD)((dwHold = dwHold * 244403L + 2543301L) >> 16);
} int main()
{//原文unsigned char data[8] = { 1,2,3,4,5,6,7,8};//加密一段内容{DWORD * pdw = (DWORD *)data;WORD * pSe = (WORD *)data;DWORD Key = 111; //初始秘钥for (int i = 0; i < 2; i++){//加密四个字节*pdw++ ^= Key;//根据前面四个字节密文 生成新Key2DWORD Key2
一种加密,解密的思路相关推荐
- PHP的几种加密解密算法
PHP的几种加密解密算法 一.开发环境 1.Windows+Apache+MySQL+PHP的环境. 2.文本编辑器:Sublime. 二.主要技术 PHP 三.实验内容与结果 本文主要介绍PHP的几 ...
- 【H5】两种加密解密方法:
[H5]两种加密解码方法: encodeURI(): //加密 decodeURI(); //解密 加密成base64编码格式 btoa() 加密 atob() 解密 实现代码如下: <!DOC ...
- html前端的几种加密/解密方式
一.base64加密 前端用base64加密和解密的使用方法,只需要两个函数就可以了.一个是加密:window.btoa(),一个是解密:window.atob(),看例子: var str = &q ...
- HTML七种加密解密
本文一共介绍了七种方法: 一:最简单的加密解密 二:转义字符""的妙用 三:使用Microsoft出品的脚本编码器Script Encoder来进行编码 (自创简单解码) ...
- JS七种加密解密方法
HTML或JS加密解密 本文一共介绍了七种方法: 一:最简单的加密解密 二:转义字符"\"的妙用 三:使用Microsoft出品的脚本编码器Script Encoder ...
- 用java实现4种加密解密算法(包括:换位加密解密、替换加密解密、位加密解密、一次一密)
案例1: 换位加密解密算法 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR ...
- 13种加密与解密算法【一】
这15种加密解密算法分别是:散列哈希[MD5.SHA1.CRC32],对称[DES,3DES(TDEA.Triple DES),AES.,Blowfish,RC4.RC5,IDEA],Base64.R ...
- 加密解密五种算法的实现
1. 实验目的 通过五种加密解密算法的分析与设计,用高级语言实现加密解密过程.通过实验过程理解系统中加密解密的基本思想和实现方法. 2. 实验基本原理与方法 ①单字母替换加密方法--恺撒密码 加密 ...
- Cocos2d-x 资源加密解密实践总结
本文乃Siliphen原创,转载请注明出处:http://blog.csdn.net/stevenkylelee 本文针对的是cocos2d-x 3.4 版本进行研究. 做加密解密的思路 加密解密算法 ...
- java变短加密解密算法_java----加密/解密常用算法
一.常用的加密/解密算法 1.Base64 严格来说,Base64不是一种加密/解密算法,而是一种编码方式,多用于解决中文乱码中. 常用场景:对文件.URL等进行Base64编码,以字符串方式发送给对 ...
最新文章
- LeetCode简单题之旅行终点站
- 修改git的远程仓库命令
- html项目_学完html+css就可以做的前端项目实战
- CSS常用菜单(三)
- 基于插件化的企业级开发平台JXADF(开源)
- 怎么把rmd改成html,在Rmd中的htmlTable - 转换为Word docx
- CodeForces 689B	Mike and Shortcuts (bfs or 最短路)
- mac命令行ftp操作
- MOSN 多协议扩展开发实践
- Spring JSR-250 注释
- 最实用的18个HTML5 API 教程大全,都在这里了
- 递归 尾递归_递归,递归,递归
- 苹果应用审核走进中国!
- Ubuntu18.04 Azure Kinect ROS Driver配置
- marlab中主成分得分怎么求_羡慕神仙权重?主成分与因子分析带你揭开权重的秘密...
- Win10预览版之BUG
- 如何让阿三 Windows 10、11 的恢复分区(Recovery Partition)恢复到 “盖茨” 模式
- java 脚本怎么写_编写java的运行脚本
- 低版本内核编译奇怪错误
- 【爬虫Practice2】爬取豆瓣高分电影