Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

맨땅에 코딩

[MySQL] Hedisql 프로시저 함수 생성 및 암호화,복호화 본문

DB

[MySQL] Hedisql 프로시저 함수 생성 및 암호화,복호화

맨땅 2022. 12. 29. 09:36

목차

    반응형

     

     

    HediSQL 쿼리문에서 암호화, 복호화 펑션 생성 스크립트를 입력해봤는데 실행이 안됐다

     

    MariaDB 쿼리 오류라는등 near '' 이런 오류 메시지만 떠서 열심히 구글링을 해 $$ 라던지 // 라던지 ''도 붙여보고 했는데 다 안됐다.

     

    그래서 내린 결론은 아 이거 말고 HediSQL에서만 해줘야되는 다른 방법이 있는거구나? 였다.

     

    데이터베이스 - 새로 생성 - 저장 루틴 으로 암호화 함수를 만들어 줬다.

     

     

     

    <암호화 펑션>

    암호화 펑션 생성 스크립트

     

    BEGIN
    DECLARE returnVal varchar(1000);
    SET returnVal = '';
    
    SELECT
    HEX(AES_ENCRYPT(encVal,SHA2('123a',512)))
    INTO returnVal;
    RETURN returnVal;
    END
    

     

    SHA2('키', 512) 에서 '키' 값은 원하시는 값으로 입력해주시면 됩니다

     

    필요한 매개변수를 추가해줍니다. 이거 안할시에 오류납니다(제가 그랬어요)

     

    <복호화 펑션>

    복호화 펑션 생성 스크립트

     

    BEGIN
    DECLARE returnVal VARCHAR(1000);
    SET returnVal = '';
    
    SELECT
    CAST(AES_DECRYPT(UNHEX(decVal),SHA2('123a',512)) AS CHAR)
    INTO returnVal FROM DUAL;
    RETURN returnVal;
    END
    

    필요한 매개변수 추가

     

    <쿼리 사용법(암호화, 복호화)>

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

     

    위는 만들어준 암호화 펑션 사용

    아래는 만들어준 복호화 펑션 사용한 예제입니다

     

    칼럼, 키 값에 맞게 바꿔서 사용하시면 될 것 같습니다

     

     

    궁금하신 점 있으시면 댓글 달아주세요

     

    감사합니다

    반응형