浏览代码

mysql용 AES 암/복호화 함수 추가

gagamel 4 年之前
父节点
当前提交
a6da83308a

+ 34 - 0
산출물/3.설계/05.DB-Object/03.db_function/fn_dec_aes.sql

@@ -0,0 +1,34 @@
+DROP FUNCTION IF EXISTS FN_DEC_AES;
+
+CREATE FUNCTION FN_DEC_AES
+    (I_VALUE VARCHAR(200)
+    ) RETURNS VARCHAR(200) DETERMINISTIC
+/******************************************************************************
+/*
+/* Module       : AES128 복호화
+/* Program Name : FN_DEC_AES
+/* Description  : 암호화된 값을 복호화해 반환한다.
+/*
+/*                Input  : I_VALUE => 암호화된 값
+/*                OutPut : 평문
+/*
+/* Program History
+/*
+/*----------------------------------------------------------------------------
+/*   Date        CSR NO.             Name      Description
+/*----------------------------------------------------------------------------
+/* 2021-06-28                       gagamel    Initial Release
+/******************************************************************************/
+
+BEGIN
+
+	DECLARE O_RET_VALUE VARCHAR(200);
+	
+	SELECT CAST(AES_DECRYPT(UNHEX(I_VALUE),'dPtm24dnpqtjqltmdkaghsmsqlalf!@#') AS CHAR)
+	INTO   O_RET_VALUE
+	FROM   DUAL
+	;
+
+	RETURN O_RET_VALUE;
+
+END;

+ 34 - 0
산출물/3.설계/05.DB-Object/03.db_function/fn_enc_aes.sql

@@ -0,0 +1,34 @@
+DROP FUNCTION IF EXISTS FN_ENC_AES;
+
+CREATE FUNCTION FN_ENC_AES
+    (I_VALUE VARCHAR(200)
+    ) RETURNS VARCHAR(200) DETERMINISTIC
+/******************************************************************************
+/*
+/* Module       : AES128 암호화
+/* Program Name : FN_ENC_AES
+/* Description  : 평문을 암호화해 반환한다.
+/*
+/*                Input  : I_VALUE => 평문
+/*                OutPut : 암호화된 값
+/*
+/* Program History
+/*
+/*----------------------------------------------------------------------------
+/*   Date        CSR NO.             Name      Description
+/*----------------------------------------------------------------------------
+/* 2021-06-28                       gagamel    Initial Release
+/******************************************************************************/
+
+BEGIN
+
+	DECLARE O_RET_VALUE VARCHAR(200);
+	
+	SELECT HEX(AES_ENCRYPT(I_VALUE,'dPtm24dnpqtjqltmdkaghsmsqlalf!@#'))
+	INTO   O_RET_VALUE
+	FROM   DUAL
+	;
+
+	RETURN O_RET_VALUE;
+
+END;