DB

쿼리문 정리

맨땅 2023. 1. 5. 11:17
반응형

SHOW GLOBAL VARIABLES LIKE 'LOG_BIN_TRUST_FUNCTION_CREATORS';

SELECT HEX(AES_ENCRYPT('123a', SHA2('abc', 256)));

SELECT AES_DECRYPT(UNHEX('39C84BB9AC55552617E29127B79A9669'), SHA2('abc', 256));   

CREATE FUNCTION FN_ENCRYPT(encVal varchar(1000)) returns varchar(1000)

FF1102A810395DDD5FC5E7C3FE6CA057


INSERT INTO user (userID, userPassword) VALUES('왜안돼', HEX(AES_ENCRYPT('password', SHA2('abc', 512))));

SELECT userID, AES_DECRYPT(UNHEX(userPassword), SHA2('abc',512)) from user where userID = '왜안돼';

INSERT INTO user (userID, userPassword) VALUES('1229', FN_ENCRYPT('passwd'));
SELECT userID, FN_DECRYPT(userPassword) from user where userID = '1229';



/* 암호화 펑션 생성 스크립트 */
CREATE FUNCTION FN_ENCRYPT(encVal varchar(1000)) returns varchar(1000)
BEGIN
      DECLARE returnVal varchar(1000);
      SET returnVal = '';

      SELECT
             HEX(AES_ENCRYPT(encVal,SHA2('123a',256)))
        INTO returnVal;
      RETURN returnVal;
END;

/* 복호화 펑션 */
CREATE FUNCTION FN_DECRYPT(decVal varchar(1000)) returns varchar(1000)

BEGIN
      DECLARE returnVal VARCHAR(1000);
      SET returnVal = '';

      SELECT
             CAST(AES_DECRYPT(UNHEX(decVal),SHA2('a1s2d3f4g5h6j7k8l9!',512)) AS CHAR)
        INTO returnVal FROM DUAL;
      RETURN returnVal;
END;



SELECT HEX(AES_ENCRYPT(123,'testkey123')) AS '암호화';


SELECT @@global.sql_mode;
 SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
 SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';
 
 

반응형