mysql
MYSQL - AES_ENCRYPT, AES_DECRYPT 함수
이 암호화는 128비트 길이로 인코딩되어 저장됩니다. 그러나 소스를 수정해서 256비트까지 확장시킬수 있다고 합니다.
AES_ENCRYPT 는 문자열을 암호화하고, 바이너리 문자열을 반환하지만, AES_DECRYPT 는 암호화된 문자열을 복호화합니다.
AES_DECRYPT 는 유효하지 않은 데이터는 padding을 감지하고, NULL을 반환합니다.
# "암호화 키"는 임의의 값이 올 수 있으며, "문자열"은 암호화하고자 하는 값이 됩니다.
# AES_ENCRYPT 암호화
INSERT INTO 테이블명 VALUES (HEX(AES_ENCRYPT('문자열', '암호화 키')));
# AES_DECRYPT 복호화
SELECT AES_DECRYPT(UNHEX(필드명), '암호화 키') FROM 테이블명;
#ex.1)
# AES_ENCRYPT 암호화
INSERT INTO tbname VALUE (HEX(AES_ENCRYPT('123456','가나다라')));
// 결과: 5A33E11DC0B638E4E5E74EBD52F55E3D
# AES_DECRYPT 복호화
SELECT AES_DECRYPT(UNHEX(필드명), '가나다라') FROM tbname;
0 댓글