在CSharp中写一个使用加密密钥的加密解密示例

在 C# 中,您可以使用 .NET Framework 中的 System.Security.Cryptography 命名空间来加密和解密数据。下面是一个示例,它使用加密密钥加密和解密字符串:

``` using System; using System.Text; using System.Security.Cryptography;

namespace ConsoleApp { class Program { static void Main(string[] args) { // 需要加密的字符串 string text = "Hello, world!"; // 加密密钥 string key = "myKey123456";

// 加密字符串
        string encryptedText = Encrypt(text, key);
        Console.WriteLine($"Encrypted text: {encryptedText}");

        // 解密字符串
        string decryptedText = Decrypt(encryptedText, key);
        Console.WriteLine($"Decrypted text: {decryptedText}");
    }

    static string Encrypt(string text, string key)
    {
        // 将密钥转换为字节数组
        byte[] keyBytes = Encoding.UTF8.GetBytes(key);

        // 使用密钥和初始化向量创建 Rijndael 加密器
        using (var aes = Aes.Create())
        {
            aes.Key = keyBytes;
            aes.IV = new byte[aes.BlockSize / 8];

            // 创建加密器
            ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV);

            // 将需要加密的字符串转换为字节数组
            byte[] textBytes = Encoding.UTF8.GetBytes(text);

            // 使用加密器加密字节数组
            byte[] encryptedBytes = encryptor.TransformFinalBlock(textBytes, 0, textBytes.Length);

            // 将加密后的字节数组转换为字符串并返回
            return Convert.ToBase64String(encryptedBytes);
        }
    }

    static string Decrypt(string encryptedText, string key)
    {
        // 将密钥转换为字节数组
        byte[] keyBytes = Encoding.UTF8.GetBytes(key);

        // 将加密后的字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值