//加密方法
public void encryptionClick()
{
//接受加载过来的对象的内容
inputText = Resources.Load("Test1").ToString();
//调用加密的方法,返回的是一段字符串 ,参数以此是要加密的内容,密匙
strEncryption = encryptionContent(inputText, strkeyValue);
//写入
StreamWriter writer;
//找到文件夹
FileInfo info1 = new FileInfo(Application.dataPath + "/Resources/" + "Test1.xml");
//删除掉
info1.Delete();
//创建新的文本
writer = info1.CreateText();
//写入
writer.WriteLine(strEncryption);
//关闭基础流
writer.Close();
Debug.Log(strEncryption + "我加密了");
}
//解密方法
public void decipherClick()
{
string data = Resources.Load("Test1").ToString();
inputText = decipheringContent(data, strkeyValue);
print(inputText);
//xml加载
doc.LoadXml(inputText);
rootElem = doc.DocumentElement; //获取根节点
}
/// <summary>
/// 内容加密
/// </summary>
/// <param name="ContentInfo">要加密内容</param>
/// <param name="strkey">key值</param>
/// <returns></returns>
public string encryptionContent(string ContentInfo, string strkey)
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(strkey);
RijndaelManaged encryption = new RijndaelManaged();
encryption.Key = keyArray;
encryption.Mode = CipherMode.ECB;
encryption.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = encryption.CreateEncryptor();
byte[] _EncryptArray = UTF8Encoding.UTF8.GetBytes(ContentInfo);
byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// 内容解密
/// </summary>
/// <param name="encryptionContent">被加密内容</param>
/// <param name="strkey">key值</param>
/// <returns></returns>
public string decipheringContent(string encryptionContent, string strkey)
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(strkey);
RijndaelManaged decipher = new RijndaelManaged();
decipher.Key = keyArray;
decipher.Mode = CipherMode.ECB;
decipher.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = decipher.CreateDecryptor();
byte[] _EncryptArray = Convert.FromBase64String(encryptionContent);
byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);
return UTF8Encoding.UTF8.GetString(resultArray);
}
public void encryptionClick()
{
//接受加载过来的对象的内容
inputText = Resources.Load("Test1").ToString();
//调用加密的方法,返回的是一段字符串 ,参数以此是要加密的内容,密匙
strEncryption = encryptionContent(inputText, strkeyValue);
//写入
StreamWriter writer;
//找到文件夹
FileInfo info1 = new FileInfo(Application.dataPath + "/Resources/" + "Test1.xml");
//删除掉
info1.Delete();
//创建新的文本
writer = info1.CreateText();
//写入
writer.WriteLine(strEncryption);
//关闭基础流
writer.Close();
Debug.Log(strEncryption + "我加密了");
}
//解密方法
public void decipherClick()
{
string data = Resources.Load("Test1").ToString();
inputText = decipheringContent(data, strkeyValue);
print(inputText);
//xml加载
doc.LoadXml(inputText);
rootElem = doc.DocumentElement; //获取根节点
}
/// <summary>
/// 内容加密
/// </summary>
/// <param name="ContentInfo">要加密内容</param>
/// <param name="strkey">key值</param>
/// <returns></returns>
public string encryptionContent(string ContentInfo, string strkey)
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(strkey);
RijndaelManaged encryption = new RijndaelManaged();
encryption.Key = keyArray;
encryption.Mode = CipherMode.ECB;
encryption.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = encryption.CreateEncryptor();
byte[] _EncryptArray = UTF8Encoding.UTF8.GetBytes(ContentInfo);
byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// 内容解密
/// </summary>
/// <param name="encryptionContent">被加密内容</param>
/// <param name="strkey">key值</param>
/// <returns></returns>
public string decipheringContent(string encryptionContent, string strkey)
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(strkey);
RijndaelManaged decipher = new RijndaelManaged();
decipher.Key = keyArray;
decipher.Mode = CipherMode.ECB;
decipher.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = decipher.CreateDecryptor();
byte[] _EncryptArray = Convert.FromBase64String(encryptionContent);
byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);
return UTF8Encoding.UTF8.GetString(resultArray);
}