修改玩家信息比如经济,等级等信息,给服务器发参数的时候需要加密,这里采用DES加密方式,代码如下:
/// <summary>
/// 获取DES加密后的字符串
/// </summary>
private static string GetStringByDES(string data)
{
//建立一个Mode=ECB, Padding=None,的DESCryptoServiceProvider
DESCryptoServiceProvider objDESCryptoServiceProvider = new DESCryptoServiceProvider();
//Key的长度要64bits -> 8bytes;用ASCII编码將Key转为byte[]
objDESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(key);
objDESCryptoServiceProvider.Mode = CipherMode.ECB;
objDESCryptoServiceProvider.Padding = PaddingMode.None;
//用UTF-8编码, 將字串转为byte[]
byte[] bysData = Encoding.UTF8.GetBytes(data);
//因为PaddingMode.None的关系, byte[]的长度要是8的倍数
byte[] bysFixSizeData = new byte[(int)Math.Ceiling(bysData.Length / 8.0) * 8];
//将资料复制到长度为8的倍数的byte[]
Array.Copy(bysData, bysFixSizeData, bysData.Length);
//进行加密
byt