본문 바로가기
DB

MySQL 에서 암호화 복호화 하는 방법

by 뿌비 2022. 8. 24.
728x90

insert 할 때 password를 암호화해서 insert 해준다

-- 기존의(암호화 전)쿼리
INSERT INTO boardList(title, content, password, regId, regDate)
VALUES('제목', '내용', '비밀번호', '아이디', now());

-- 암호화 쿼리
INSERT INTO boardList(title, content, password, regId, regDate) VALUES('제목', '내용', HEX(aes_encrypt('password','1')), '아이디', now());
// insert 시 암호화 xml 쿼리
<insert id="insertList">
    INSERT INTO 
      boardList(title ,content ,password ,regId, regDate)
    VALUES 
      (#{title}, #{content}, HEX(aes_encrypt(#{password},1)), #{regId}, NOW())
    <selectKey resultType="int" keyProperty="seq" order="AFTER">
        SELECT LAST_INSERT_ID()
    </selectKey>
  </insert>

복호화 

-- 복호화 쿼리 
SELECT 
	*, AES_DECRYPT(unhex(password), '1') -- '1'는 key
FROM
	boardList
WHERE
	title ='제목';

 


https://bug41.tistory.com/15 [참고]
https://stricky.tistory.com/330 [참고]
728x90

'DB' 카테고리의 다른 글

DBeaver MariaDB 프로시저(Procedure)로 더미 데이터 생성  (0) 2022.08.04