JS加密:JSON数据加密

JS加密:JSON数据加密

JS编程中,很多有用的数据都会以JSON格式存放。

如果对JS代码混淆加密,这些JSON数据会变成什么样呢?

且看以下示例,使用JShaman专业版(专业的JS混淆加密),对JSON数据加密:

一行用于演示的JS源码:

var abc = {"a":a1,"b":"b2","c":"c3"}; 

JSON加密方式一

配置中使用“字符串unicode化”:

加密效果:

var abc = {
  "\u0061": "\u0061\u0031",
  "\u0062": "\u0062\u0032",
  "\u0063": "\u0063\u0033"
};

JSON加密方式二

配置中使用“JS数据加密”、“字符串阵列化”、“阵列字符串加密”。

加密结果:

var _0x13171b=["114.3.41.41.43.104.43.51.41.43.104.56.43.37.3.41.41.43.107.43.51.41.43.107.59.43.37.3.41.41.43.106.43.51.41.43.106.58.43.3.116."];
function _0xdf9c2e(str,dy_key){dy_key=9;var i,k,str2="";k=str.split(".");for(i=0;i<k.length-1;i++){str2+=String.fromCharCode(k[i]^dy_key);}return str2;}var abc=JSON.parse(_0xdf9c2e(_0x13171b[0]));

第一种加密结果,还能看出JSON格式,只是JSON中的数据加密了。

第二种加密结果,JSON格式也完全不可见了。

你认为哪种加密效果更好呢?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中可以使用C#中的JsonUtility类来序列化和反序列化Json数据,但是Json数据本身并不支持加密,需要使用加密算法对Json数据进行加密处理。 常见的Json加密算法包括AES、RSA、DES等,其中AES算法应用比较广泛,因为它具有高强度的加密和解密能力。 以下是使用AES算法对Json数据进行加密的示例代码: ```csharp using System; using System.Security.Cryptography; using System.Text; using UnityEngine; public class JsonEncryptor : MonoBehaviour { public static string Encrypt(string plainText, string key, string iv) { byte[] keyBytes = Encoding.UTF8.GetBytes(key); byte[] ivBytes = Encoding.UTF8.GetBytes(iv); byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); using (Aes aesAlg = Aes.Create()) { aesAlg.Key = keyBytes; aesAlg.IV = ivBytes; ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV); using (MemoryStream msEncrypt = new MemoryStream()) { using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) { csEncrypt.Write(plainTextBytes, 0, plainTextBytes.Length); csEncrypt.FlushFinalBlock(); byte[] cipherTextBytes = msEncrypt.ToArray(); return Convert.ToBase64String(cipherTextBytes); } } } } } ``` 在上面的代码中,使用AES算法对Json数据进行加密加密后的结果以Base64字符串的形式返回。其中,key和iv分别表示AES算法的密钥和向量,可以通过随机数生成或者其他方式获取。 示例代码中的加密方法可以在需要加密Json数据的地方调用,例如: ```csharp string jsonData = "{\"name\":\"Tom\",\"age\":20}"; string encryptedJsonData = JsonEncryptor.Encrypt(jsonData, "1234567890123456", "1234567890123456"); ``` 以上示例代码中,jsonData是需要加密Json数据,key和iv都是随机生成的16位字符串。加密后的结果以Base64字符串的形式保存在encryptedJsonData中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值