技术文摘
在 C# 里对 JSON 数据进行 AES 加密与解密
2024-12-30 17:20:52 小编
在 C# 里对 JSON 数据进行 AES 加密与解密
在当今数字化时代,数据安全至关重要。对 JSON 数据进行加密和解密是保护敏感信息的常见需求。在 C# 中,我们可以使用高级加密标准(AES)来实现这一目标。
AES 是一种对称加密算法,它使用相同的密钥进行加密和解密。我们需要引入相关的命名空间。
using System;
using System.Security.Cryptography;
using System.Text;
接下来,定义加密和解密的方法。
public static class AesEncryption
{
public static string EncryptJson(string json, string key)
{
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Encoding.UTF8.GetBytes(key);
aesAlg.IV = new byte[aesAlg.BlockSize / 8];
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(json);
}
}
return Convert.ToBase64String(msEncrypt.ToArray());
}
}
}
public static string DecryptJson(string encryptedJson, string key)
{
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Encoding.UTF8.GetBytes(key);
aesAlg.IV = new byte[aesAlg.BlockSize / 8];
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msDecrypt = new MemoryStream(Convert.FromBase64String(encryptedJson)))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
return srDecrypt.ReadToEnd();
}
}
}
}
}
}
在实际使用中,我们先指定一个密钥,然后调用加密方法对 JSON 数据进行加密。
string json = "{"name":"John","age":30}";
string key = "MySecretKey123";
string encryptedJson = AesEncryption.EncryptJson(json, key);
要解密加密后的 JSON 数据,只需调用解密方法。
string decryptedJson = AesEncryption.DecryptJson(encryptedJson, key);
通过在 C# 中对 JSON 数据进行 AES 加密和解密,我们能够有效地保护数据的机密性,确保敏感信息在传输和存储过程中的安全。
需要注意的是,密钥的管理和保护至关重要。应确保密钥的安全性,避免泄露,以保障加密的有效性。AES 加密虽然强大,但也需要根据具体的安全需求和合规要求来合理应用。
- 映泰主板 BIOS 设置详细图解指南
- Mac 下载安装 Win11 系统的方法及图文教程
- 惠普台式、笔记本、一体机电脑 BIOS 中文版对照图解介绍
- Mac 快捷方式菜单栏图标如何删除
- 苹果 Mac 双系统误删的恢复方法:Windows 系统误删恢复教程
- Mac 菜单栏全屏模式的保持方法
- Mac 和 iPad 通用控制的使用方法及系统要求
- 电脑 BIOS 设置光盘启动:三种类型 BIOS 光驱启动图文详解教程
- Mac 上页面、主题演讲和数字文档的密码保护方法
- BIOS 中设置光驱启动的方法及图文教程
- 苹果笔记本电脑的 win 键在哪里?
- 苹果 Mac 连接打印机及添加共享打印机的方法
- 联想 E430c U 盘启动盘安装设置与 BIOS 设置图文教程
- BIOS 关闭触控板功能的设置方法及图文教程:防止误碰触摸板
- BIOS 设置网卡启动以恢复网络正常使用的图文教程