[/font]using System.Collections;
using System.Text;
using System.Security.Cryptography;
using System;
[font=黑体]//
//                  _ooOoo_
//                 o8888888o
//                 88" . "88
//                 (| -_- |)
//                 O\  =  /O
//              ____/`---'\____
//            .'  \\|     |//  `.
//          /  \\|||  :  |||//  \
//          /  _||||| -:- |||||-  \
//          |   | \\\  -  /// |   |
//          | \_|  ''\---/''  |   |
//          \  .-\__  `-`  ___/-. /
//        ___`. .'  /--.--\  `. . __
//     ."" '<  `.___\_<|>_/___.'  >'"".
//    | | :  `- \`.;`\ _ /`;.`/ - ` : | |
//    \  \ `-.   \_ __\ /__ _/   .-` /  /
//=====`-.____`-.___\_____/___.-`____.-'======
//                  `=---='
//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//          佛祖保佑       永无Bug
//          快加工资       不改需求
//
public class ADDJIEMI : MonoBehaviour [/font][font=黑体]{
public UIInput _input;
//获取输入框的值
private string inputText;
//被加密内容
private string strEncryption;
private string strkeyValue;
void Start()
{
//加密和解密采用相同的key,可以任意数字,但是必须为32位
strkeyValue = "12345678901234567890198915689039";
}
public void encryptionClick()
{
inputText = _input.value;
strEncryption=encryptionContent(inputText, strkeyValue);
Debug.Log(strEncryption);
}
public void decipherClick()
{
inputText = decipheringContent(strEncryption, strkeyValue);
Debug.Log(inputText);
}
/// <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);
}
}