【Unity】unity3d 数据加/解密
来源:互联网 发布:c语言中随机数怎么写 编辑:程序博客网 时间:2024/06/06 18:31
原文地址 :http://www.manew.com/thread-21682-1-1.html
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);}}
使用:
ngui创建一个input(输入框) 加2个button(按钮),
直接把代码拖到输入框对象上,
然后分别拖input对象给2个按钮绑定事件就可以了。
注:ngui其实不建议使用直接拖动绑定事件,
最好使用Event代码做事件,
由于我只是测试,所以就直接拖啦
以后有时间的话 我会发一篇如何使用ngui的event代码做事件 在此就不详述了
里面代码非常简洁,同时也有注释 相信大家都能看懂吧!
直接运行看效果,
点击加密后的结果
通过调用上面加密方法,就把我们的数据内容加密成乱码了哟。
再看点击解密后的结果
这样就把刚才生成的乱码,通过解密方法,还原了哟。
其实,上面方法不仅仅适用于简单字符串加/解密,仔细想想,对文本、xml等之类的文件内容 也是可行的哟!
比如:对xml加/解密
1.读取xml文件,获取返回一个string 的xml内容
2.然后通过我上面的方法 对该 内容进行一次包裹,这样在内存中就是一段乱码,别人想改都不可能的,嘿嘿
3.要使用的时候 ,就通过上面的解密方法 就可以任意操作啦
阅读全文
0 0
- 【Unity】unity3d 数据加/解密
- unity3d 数据加/解密
- unity3d 数据加/解密
- 加解密数据组件
- SQL数据加解密
- c#数据加解密
- C#数据的加解密
- 数据加解密算法研究
- C#使用DES加解密数据
- openswan klips数据加解密过程
- RSA加解密长数据-php
- AOSP SDK 报文数据加解密规则
- CSP应用开发-数据加解密
- JavaScript实现http请求数据加解密
- java实现AES加密解密--数据加解密
- [Unity优化]数据的加密与解密
- Unity数据的加密与解密
- 加解密
- 用于实时大数据处理的Lambda架构
- 利用SharePreferences保存实体对象
- MVP架构搭建
- Link-Cut Tree
- Java传值还是传引用问题
- 【Unity】unity3d 数据加/解密
- Java反射实例分析
- 版本控制工具SVN的使用方法
- iOS 支持https
- 管理数据的价值
- Inverse是hibernate双向关系中的基本概念
- 怎样在java程序中对项目进行硬件检测
- Python与json
- html5语法