转Json时注意引用C盘里的System.Web.Extensions.dll文件
private string JsonEncr(object obj) { System.Web.Script.Serialization.JavaScriptSerializer objSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); string json = objSerializer.Serialize(obj); return json; }
只需要传入相应的类或其他,例如:
private void Form1_Load(object sender, EventArgs e) { Infomation info = new Infomation(); nfo.name = "Curry"; info.age = 18; info.gender = "男"; textBox1.Text = JsonEncr(info); } private class Infomation { public string name { get; set; } public int age { get; set; } public string gender { get; set; } }
这样就可以得到相应的Json字符串了,下面说下AES加密
AES加密(加密步骤)
1.加密字符串得到2进制数组;
2.将2禁止数组转为16进制;
3.进行base64编码
注意引用using System.Security.Cryptography;
private String Encrypt(String key, String toEncrypt) { Byte[] _Key = Encoding.ASCII.GetBytes(key); Byte[] _Source = Encoding.UTF8.GetBytes(toEncrypt); //Aes aes = Aes.Create("AES"); var aes = new RijndaelManaged(); aes.Mode = CipherMode.ECB; aes.Padding = PaddingMode.PKCS7; aes.Key = _Key; ICryptoTransform cTransform = aes.CreateEncryptor(); Byte[] cryptData = cTransform.TransformFinalBlock(_Source, 0, _Source.Length); String HexCryptString = Hex_2To16(cryptData); Byte[] HexCryptData = Encoding.UTF8.GetBytes(HexCryptString); String CryptString = Convert.ToBase64String(HexCryptData); return CryptString; }
"toEncrypt"要加密的字符串,"key"密钥
例如:
private static string Key = "0123456789012345";
string ecValue = Encrypt(Key, json);
另外代码中有2进制转16进制,附上代码
private String Hex_2To16(Byte[] bytes) { String hexString = String.Empty; Int32 iLength = 65535; if (bytes != null) { StringBuilder strB = new StringBuilder(); if (bytes.Length < iLength) { iLength = bytes.Length; } for (int i = 0; i < iLength; i++) { strB.Append(bytes[i].ToString("X2")); } hexString = strB.ToString(); } return hexString; }