unity json 加密
时间: 2023-10-02 14:08:43 浏览: 93
JS 加密工具
Unity 中可以使用 C# 自带的 `System.Security.Cryptography` 命名空间来进行 JSON 加密。下面是一个简单的示例:
```csharp
using System;
using System.Security.Cryptography;
using System.Text;
using UnityEngine;
public class JsonEncryption : MonoBehaviour
{
private static readonly byte[] Key = Encoding.UTF8.GetBytes("YOUR_ENCRYPTION_KEY");
private static readonly byte[] IV = Encoding.UTF8.GetBytes("YOUR_ENCRYPTION_IV");
private void Start()
{
// Original JSON string
string json = "{\"name\": \"Alice\", \"age\": 25}";
// Encrypt the JSON string
string encryptedJson = Encrypt(json);
Debug.Log("Original JSON: " + json);
Debug.Log("Encrypted JSON: " + encryptedJson);
// Decrypt the JSON string
string decryptedJson = Decrypt(encryptedJson);
Debug.Log("Decrypted JSON: " + decryptedJson);
}
private static string Encrypt(string plainText)
{
using (var aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
var encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (var msEncrypt = new System.IO.MemoryStream())
{
using (var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (var swEncrypt = new System.IO.StreamWriter(csEncrypt))
{
swEncrypt.Write(plainText);
}
var encryptedBytes = msEncrypt.ToArray();
return Convert.ToBase64String(encryptedBytes);
}
}
}
}
private static string Decrypt(string cipherText)
{
var cipherBytes = Convert.FromBase64String(cipherText);
using (var aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
var decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
using (var msDecrypt = new System.IO.MemoryStream(cipherBytes))
{
using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (var srDecrypt = new System.IO.StreamReader(csDecrypt))
{
return srDecrypt.ReadToEnd();
}
}
}
}
}
}
```
在上面的示例中,`Key` 和 `IV` 分别是加密所使用的密钥和向量,在使用时需要替换为自己的值。`Encrypt` 方法将传入的 JSON 字符串进行加密并返回加密后的字符串,`Decrypt` 方法将加密后的字符串进行解密并返回原始的 JSON 字符串。可以在 `Start` 方法中调用这两个方法进行加密和解密的演示。
需要注意的是,这种加密方式并不安全,只能用于简单的加密需求。如果需要更高级的加密保护,建议使用更为专业的加密算法。
阅读全文