HASH
)를 이용하여 평문을 암호화 하는 방법중 하나로,SHA-256
(Secure Hash Algorithm, 안전한 해시 알고리즘)이 있다.AES(Advanced Encryption Standard)
가 존재한다.AES-128
, AES-192
, AES-256
이 있으며 뒤에 붙은 숫자는 키의 길이를 의미한다. (128bit = 16byte, 192bit = 24byte, 256bit = 32byte)✅
AES-256
암호화 방식을 이용하려면 Key의 길이는 32byte가 되어야한다.
암호화 과정 :
plain text -> pain bytes -> encrypt -> encrypted bytes -> encrypted base64 text
복호화 과정 :
encrypted base64 text -> encrypted bytes -> decrypt -> plain bytes -> plain text
block cipher
) 방식으로 동작한다.XOR
연산을 한 다음에 암호화를 수행한다.IV(초기화 벡터)
를 이용한다.AES
는 128bit(16byte) 단위로 암호화하기 때문에, IV
도 16byte의 크기가 필요하다.💡 IV(Initialize Vector, 초기화 벡터)
- 매번 다른
IV
를 생성하면 같은 평문이라도 다른 암호문을 생성할 수 있다.IV
는 암호를 복호화할 사람에게 미리 제공되어야 하고,Key
와 달리 공개되어도 무관하다.
출처
AES-256 암호화
[Springboot] HTTP 바디 데이터 암호화 전송하기
단방향 양방향 암호화 정리
패스워드 암호화를 어떤 방식으로 하면 좋을까?
Java AES256 암/복호화
암호화의 이해 : AES, 블록 암호 운영 모드, 패딩 모드 간단 용어 정리