用unity自带的方法可对用户数据进行加密解密。
这里可以指定密钥:
using UnityEngine;
using System;
using System.Security.Cryptography;
using System.Text;
public class GlobalDataHelper
{
private const string DATA_ENCRYPT_KEY = "a234857890654c3678d77234567890O2";
private static RijndaelManaged _encryptAlgorithm = null;
public static RijndaelManaged DataEncryptAlgorithm ()
{
_encryptAlgorithm = new RijndaelManaged ();
_encryptAlgorithm.Key = Encoding.UTF8.GetBytes (DATA_ENCRYPT_KEY);
_encryptAlgorithm.Mode = CipherMode.ECB;
_encryptAlgorithm.Padding = PaddingMode.PKCS7;
return _encryptAlgorithm;
}
}
/// 加密数据
public string EncryptData (string dataToEncrypt)
{
//给明文加密用GetBytes
byte[] dataToEncryptArray = Encoding.UTF8.GetBytes (dataToEncrypt);
byte[] dataAfterEncryptArray = GlobalDataHelper.DataEncryptAlgorithm().CreateEncryptor ()
.TransformFinalBlock (dataToEncryptArray, 0, dataToEncryptArray.Length);
return Convert.ToBase64String (dataAfterEncryptArray, 0, dataAfterEncryptArray.Length);
}
/// 解密数据
public string DecryptData (string dataToDecrypt)
{
//给密文解密用FromBase64String
byte[] dataToDecryptArray = Convert.FromBase64String (dataToDecrypt);
byte[] dataAfterDecryptArray = GlobalDataHelper.DataEncryptAlgorithm().CreateDecryptor ()
.TransformFinalBlock (dataToDecryptArray, 0, dataToDecryptArray.Length);
return Encoding.UTF8.GetString (dataAfterDecryptArray);
}
如果保存用户的账户密码需要保存md5值(简单密码可以暴_力_破_解)。