티스토리 뷰

728x90
반응형

Mysql Aes_Encrypt 쿼리
select HEX(AES_ENCRYPT('텍스트','비밀번호'));


C# Encrypt String(HEX)

           private static string Encrypt(string _encryptString, string _passkey)
        {
            StringBuilder sbResult = new StringBuilder();

            byte[] EncryptArray = UTF8Encoding.UTF8.GetBytes(_encryptString);

            RijndaelManaged Rdael = new RijndaelManaged();
            Rdael.KeySize = 128;
            Rdael.BlockSize = 128;

            Rdael.Mode = CipherMode.CBC;
            Rdael.Padding = PaddingMode.PKCS7;

            byte[] keyBytes = new byte[16];
           byte[] pwdBytes= Encoding.UTF8.GetBytes(_passkey);
            int len = pwdBytes.Length;
            if (len > keyBytes.Length)
            {
                len = keyBytes.Length;
            }
            Array.Copy(pwdBytes, keyBytes, len);

            Rdael.Key = keyBytes;

            Rdael.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

            ICryptoTransform CtransForm = Rdael.CreateEncryptor();
            byte[] ResultArray = CtransForm.TransformFinalBlock(EncryptArray, 0, EncryptArray.Length);

            foreach (byte b in ResultArray)
            {
                sbResult.AppendFormat("{0:x2}", b);
            }

            return (sbResult.ToString().ToUpper());
        }


참고)
16진수 문자열과 숫자 형식 간 변환 방법 - C# 프로그래밍 가이드 | Microsoft Docs

byte[] array = { 0x64, 0x6f, 0x74, 0x63, 0x65, 0x74 }; string hexValue = Convert.ToHexString(array); Console.WriteLine(hexValue);

[암호화] Java AES128 암호화 복호화 하는법 (tistory.com)

이준빈은 호박머리 (tistory.com)[암호화] Java AES128 암호화 복호화 하는법 (tistory.com)

[C#] 문자열 암/복호화 (AES) – Kim Kitty .NET

C# AES 암호화 / 복호화 예제 소스 코드 (tistory.com)

How to UNHEX() MySQL binary string in C# .NET? - Stack Overflow

행복한 세상 :: C# AES128 암호화 복호화 소스 (tistory.com)

반응형
댓글