美文网首页
MySQL与C# AES加解密

MySQL与C# AES加解密

作者: 承诺一时的华丽 | 来源:发表于2024-06-16 09:45 被阅读0次

MySQL加解密

-- AES加密后base64编码
select  to_base64(AES_ENCRYPT('18888888888','hanc01803')) as mysqlEncry;

-- base64解码后AES解密
SELECT CAST(AES_DECRYPT(FROM_BASE64('dJKMV3AupZ4tnwcdfLWNEw=='),'hanc01803') AS CHAR) as mysqlDecry;
用这个测试一下就知道了

C# 加密

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

public class AesEncryption
{
    public static void Main()
    {
        string plaintext = "18888888888";
        string key = "hanc01803";

        string encrypted = EncryptToBase64(plaintext, key);
        Console.WriteLine($"Encrypted (Base64): {encrypted}");

        // Prevent the console window from closing immediately
        Console.WriteLine("Press Enter to exit...");
        Console.ReadLine();
    }

    public static string EncryptToBase64(string plainText, string key)
    {
        // Ensure the key is 16 bytes (128 bits) for AES
        byte[] keyBytes = Encoding.UTF8.GetBytes(key);
        Array.Resize(ref keyBytes, 16);

        using (Aes aes = Aes.Create())
        {
            aes.Key = keyBytes;
            aes.Mode = CipherMode.ECB; // Use ECB mode
            aes.Padding = PaddingMode.PKCS7;

            using (var encryptor = aes.CreateEncryptor(aes.Key, aes.IV))
            {
                byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
                byte[] encryptedBytes = encryptor.TransformFinalBlock(plainTextBytes, 0, plainTextBytes.Length);

                return Convert.ToBase64String(encryptedBytes);
            }
        }
    }
}

相关文章

网友评论

      本文标题:MySQL与C# AES加解密

      本文链接:https://www.haomeiwen.com/subject/mgxtcjtx.html