您的位置 首页 java

游戏异或加解密

游戏研发中常对网络中传输敏感信息数据做加密解密处理。异或密码(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;
         }
     }
 }  

文章来源:智云一二三科技

文章标题:游戏异或加解密

文章地址:https://www.zhihuclub.com/186648.shtml

关于作者: 智云科技

热门文章

网站地图