Java / / 2022. 8. 18. 09:51

[MYSQL] AES_ENCRYPT / AES_DECRYPT

반응형

 

해당 함수는 암호화 함수입니다.

 

128비트 길이로 인코딩 되어 저장됩니다.

그러나 소스를 수정해서 256비트까지 확장시킬 수 있다고 합니다.

 

AES_ENCRYPT

  • 문자열을 암호화하고, 바이너리 문자열을 반환합니다.
# "암호화 키"는 임의의 값이 올 수 있으며, "문자열"은 암호화하고자 하는 값이 됩니다.

 # AES_ENCRYPT 암호화
  INSERT INTO 테이블명 VALUES (HEX(AES_ENCRYPT('문자열', '암호화 키')));

 

 

 

AES_DECRYPT

  • 암호화된 문자열을 복호화합니다.
  • 유효하지 않은 데이터는 PADDING을 감지하고, NULL을 반환합니다.
# "암호화 키"는 임의의 값이 올 수 있으며, "문자열"은 암호화하고자 하는 값이 됩니다.


# AES_DECRYPT 복호화
SELECT AES_DECRYPT(UNHEX(필드명), '암호화 키') FROM 테이블명;

 

예제

# AES_ENCRYPT 암호화
INSERT INTO tbname VALUE (HEX(AES_ENCRYPT('1234567890','테스트')));

# AES_DECRYPT 복호화
SELECT AES_DECRYPT(UNHEX(필드명), '테스트') FROM tbname;
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유