龙空技术网

游戏异或加解密

苍狼神鹰 110

前言:

当前咱们对“异或加密很容易破解吗”大致比较关切,大家都需要剖析一些“异或加密很容易破解吗”的相关知识。那么小编也在网摘上收集了一些对于“异或加密很容易破解吗””的相关资讯,希望各位老铁们能喜欢,姐妹们快快来了解一下吧!

游戏研发中常对网络中传输敏感信息数据做加密解密处理。异或密码(simple XOR cipher)是密码学中一种简单的加密算法,是指对信息进行异或操作来达到加密和解密目的。无论是原理还是操作性上,都不具备任何难度,所以在做一些简单的加密时,被广为采用。

异或运算(XOR)是一种计算机程序设计语言中很重要基于二进制的位运算,对提高程序可读性和运行效率具有重要实际价值。异或运算具有交换律、结合律、自反律、配对等常见性质,以广泛应用于奇偶性判别、纠错检验、网络编码、信息加密、图像处理等应用中。

异或密码是一种通过异或运算进行加密的算法。参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:0^0 = 0 1^0 = 1 0^1 = 1 1^1 = 0 按位异或的3个特点:(1) 0^0=0,0^1=1 0异或任何数=任何数。(2) 1^0=1,1^1=0 1异或任何数=任何数取反。(3) 任何数异或自己=把自己置0

按位异或的几个常见用途:(1) 使某些特定的位翻转。(2) 实现两个值的交换,而不必使用临时变量。

JAVA实现异或加解密类:LLXORHelper.java

 package com.core.helper; ​ /**  * 异或加密的工具类  * @author Thinker  *    */ public class LLXORHelper {     /** 加密钥匙 */     private final static int XOR_KEY=100; ​     /**      * 加密      * @param buf      * @param size      */     public static void NFX_EnCode(byte[] buf,int size)     {         int tmpi;         int conf;         int tmpc;         conf=XOR_KEY%255;         conf=conf>=0?conf:-conf;         for(tmpi=0;tmpi<size;tmpi++)         {             tmpc=buf[tmpi];             tmpc+=conf;             if(tmpc>255) tmpc-=256;             buf[tmpi]=(byte)(((byte)tmpc)^0xff);         }     } ​     /**      * 解密      * @param buf      * @param size      */     public static void NFX_DeCode(byte[] buf,int size)     {         int tmpi;         int conf;         int tmpc;         conf=XOR_KEY%255;         conf=conf>=0?conf:-conf;         for(tmpi=0;tmpi<size;tmpi++)         {             tmpc=buf[tmpi]^0xff;             tmpc=tmpc>=conf?tmpc-conf:256+tmpc-conf;             buf[tmpi]=(byte)tmpc;         }     } }

标签: #异或加密很容易破解吗