Mysql
IF pi_actiontype = 'E' THEN SET PO_STR := TO_BASE64(AES_ENCRYPT(pi_str, v_SecKey)); ELSEIF pi_actiontype = 'D' THEN SET PO_STR := AES_DECRYPT(FROM_BASE64(pi_str),v_SecKey);
C#
public static class AESCipherMysql { public static String AES_encrypt(String Input, string key) { RijndaelManaged aes = new RijndaelManaged(); aes.KeySize = 128; aes.BlockSize = 128; aes.Mode = CipherMode.ECB; aes.Padding = PaddingMode.PKCS7; aes.Key = Encoding.UTF8.GetBytes(key); aes.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; var encrypt = aes.CreateEncryptor(aes.Key, aes.IV); byte[] xBuff = null; using (var ms = new MemoryStream()) { using (var cs = new CryptoStream(ms, encrypt, CryptoStreamMode.Write)) { byte[] xXml = Encoding.UTF8.GetBytes(Input); cs.Write(xXml, 0, xXml.Length); cs.FlushFinalBlock(); } xBuff = ms.ToArray(); } String output = Convert.ToBase64String(xBuff); return output; } public static String AES_decrypt(String Input, string key) { RijndaelManaged aes = new RijndaelManaged(); aes.KeySize = 128; aes.BlockSize = 128; aes.Mode = CipherMode.ECB; aes.Padding = PaddingMode.PKCS7; aes.Key = Encoding.UTF8.GetBytes(key); aes.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; var decrypt = aes.CreateDecryptor(); byte[] encryptedStr = Convert.FromBase64String(Input); byte[] xBuff = new byte[encryptedStr.Length]; using (var ms = new MemoryStream(encryptedStr)) { using (var cs = new CryptoStream(ms, decrypt, CryptoStreamMode.Read)) { cs.Read(xBuff, 0, xBuff.Length); } } String output = Encoding.UTF8.GetString(xBuff); return output; } }
'Develop' 카테고리의 다른 글
javascript file loading (0) | 2016.07.25 |
---|---|
Bootstrap less 404 (0) | 2016.06.28 |
powershell web 관련 명령어 (0) | 2016.06.02 |
powershell 폴더구조 복사 (0) | 2016.06.02 |
powershell 'c:\program files' (0) | 2016.06.02 |