45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
/********************************************************************************
|
||
* 文件名:XorCrypto.cs
|
||
* 全路径: \NetWork\SocketAPI\XorCrypto.cs
|
||
* 创建人: 房迪
|
||
* 创建时间:2014-08-04
|
||
*
|
||
* 功能说明: 消息包加密
|
||
*
|
||
* 修改记录:
|
||
*********************************************************************************/
|
||
|
||
using System;
|
||
#if UNITY_WP8
|
||
using UnityPort;
|
||
#endif
|
||
|
||
namespace SPacket.SocketInstance
|
||
{
|
||
public class XorCrypto
|
||
{
|
||
//1E95A51FD4C38CD68428186BC5C3E26F
|
||
#if UNITY_WP8
|
||
static private byte[] s_Key = PortUtil.StringToASCII("1E95A51FD4C38CD68428186BC5C3E26F");
|
||
#else
|
||
static private byte[] s_Key = System.Text.Encoding.ASCII.GetBytes("1E95A51FD4C38CD68428186BC5C3E26F");
|
||
#endif
|
||
static private int s_KeySize = s_Key.Length;
|
||
private static void _Xor(Byte[] Buf, UInt32 nSize)
|
||
{
|
||
for (int i = 0; i < nSize; ++i)
|
||
{
|
||
Buf[i] ^= s_Key[i % s_KeySize];
|
||
}
|
||
}
|
||
public static void XorEncrypt(Byte[] Buf, UInt32 nSize)
|
||
{
|
||
_Xor(Buf, nSize);
|
||
}
|
||
public static void XorDecrypt(Byte[] Buf, UInt32 nSize)
|
||
{
|
||
_Xor(Buf, nSize);
|
||
}
|
||
}
|
||
}
|