扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

c# litjson濡備綍瀹炵幇鏁版嵁鍔犲瘑

扬州沐宇科技
2024-06-24 10:49:28
c#

鍦ㄤ娇鐢↙itJSON杩涜鏁版嵁鍔犲瘑鏃讹紝鍙互浣跨敤甯歌鐨勫姞瀵嗙畻娉曪紝渚嬪AES鍔犲瘑绠楁硶銆備互涓嬫槸涓€涓ず渚嬩唬鐮侊紝婕旂ず濡備綍浣跨敤LitJSON鍜孉ES绠楁硶鏉ュ疄鐜版暟鎹姞瀵嗭細

using LitJson;
using System;
using System.Security.Cryptography;
using System.Text;

class Program
{
    static void Main()
    {
        // 鍘熷鏁版嵁
        JsonData jsonData = new JsonData();
        jsonData["name"] = "Alice";
        jsonData["age"] = 25;

        // 灏咼sonData杞崲涓哄瓧绗︿覆
        string jsonString = jsonData.ToJson();

        // 鍔犲瘑瀵嗛挜
        string key = "1234567890123456";
        byte[] keyBytes = Encoding.UTF8.GetBytes(key);

        // 鍔犲瘑鏁版嵁
        byte[] encryptedData = EncryptStringToBytes_Aes(jsonString, keyBytes);

        // 灏嗗姞瀵嗗悗鐨勬暟鎹浆鎹负Base64瀛楃涓?/span>
        string encryptedString = Convert.ToBase64String(encryptedData);

        Console.WriteLine("Encrypted data: " + encryptedString);
    }

    static byte[] EncryptStringToBytes_Aes(string plainText, byte[] key)
    {
        byte[] encrypted;

        using (Aes aesAlg = Aes.Create())
        {
            aesAlg.Key = key;
            aesAlg.GenerateIV();

            ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);

            using (MemoryStream msEncrypt = new MemoryStream())
            {
                using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                {
                    using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                    {
                        swEncrypt.Write(plainText);
                    }

                    encrypted = msEncrypt.ToArray();
                }
            }
        }

        return encrypted;
    }
}

鍦ㄨ繖涓ず渚嬩腑锛岄鍏堝垱寤轰簡涓€涓狫sonData瀵硅薄骞惰浆鎹负瀛楃涓层€傜劧鍚庝娇鐢ˋES绠楁硶鍜屾寚瀹氱殑鍔犲瘑瀵嗛挜瀵瑰瓧绗︿覆杩涜鍔犲瘑銆傚姞瀵嗗悗鐨勬暟鎹互Base64瀛楃涓茬殑褰㈠紡杈撳嚭銆傝娉ㄦ剰锛岃繖閲岀殑鍔犲瘑绠楁硶鍜屽瘑閽ヤ粎浣滀负绀轰緥锛屽疄闄呭簲鐢ㄤ腑闇€瑕佹牴鎹叿浣撻渶姹傞€夋嫨鏇村畨鍏ㄧ殑鍔犲瘑绠楁硶鍜屽瘑閽ョ鐞嗘柟寮忋€?/p>

扫码添加客服微信