mysql 필드 암호화 설정

By lhcsoft - 3월 09, 2019

Mysql 필드를 암호화 하는 방법에 대해 설명한다.
(참고, 다음에는 테이블 암호화 하는 방법에 설명하겠습니다)


1. aes 암호화 모드 읽어올때


use testdb;
select @@block_encryption_mode



2, aes 암호화 모드 설정할 때

use testdb;

SET block_encryption_mode = 'aes-256-cbc';
SET @init_vector = RANDOM_BYTES(16);


3. 128 비트 암호화 할때
INSERT INTO gunnm (no, text) VALUES (39, HEX(AES_ENCRYPT('문자열', SHA2('My secret passphrase',512))));

4. 256 비트 암호화 할때
INSERT INTO gunnm (no, text) VALUES (39, HEX(AES_ENCRYPT('문자열', SHA2('My secret passphrase',512), @init_vector)));

5. 128 비트 복호화 할때
SELECT no, CAST(AES_DECRYPT(UNHEX(text), SHA2('My secret passphrase',512)) as char) FROM gunnm;

6. 256 비트 암호화 할때
SELECT no, CAST(AES_DECRYPT(UNHEX(text), SHA2('My secret passphrase',512),@init_vector) as char) FROM gunnm;

이와같이 하면 필드 암복호화를 수행할 수 있다.

참고) 126비트가 성능면에서 가장 훌륭하고, 충분히 안전성을 보장한다고 함(mysql 사이트 설명)

  • Share:

You Might Also Like

0 개의 댓글