Programming

[보안] SHA 암호화 알고리즘

728x90

오늘은 SHA 암호화에 대해서 알아보겠습니다. 아마 로그인, 회원가입등의 개인정보를 저장하거나 처리할때 많이 들어보셨을 것 같습니다. 자 지금부터 알아볼까요?

 

SHA란?

SHA는 Secure Hash Algorithm의 줄임말입니다. 따라서 해석하면 해시를 이용한 암호화 알고리즘이라고 보시면 됩니다.

 

SHA의 종류는 크게, sha-0, sha-1, sha-2로 나뉩니다.

당연하게도 숫자가 높아질수록 더 높은 버전이며, sha-0은 최초의 sha 함수를 뜻하고, 여러 변형을 거쳐서 sha-1 그리고 현재는 sha-224, sha-256, sha-384, sha-512를 아우르는 sha-2까지 등장했습니다.

 

sha-0, sha-1은 160비트의 해시값을 만들어내는 방식이고, 특히 sha-1은 SSL, TLS, SSH등의 많은 프로토콜과 프로그램에서 사용됩니다.

 

sha-2는 시간이 지나면서 160비트보다 큰 비트값을 만들어내도록 설계되었고, 현재는 보안상 적어도 sha-256이상을 사용하는 것이 권장됩니다.

 

SHA의 특징

SHA 암호화방식의 가장 큰 특징은 바로 단방향 암호화 알고리즘 이라는 것입니다! 따라서 한번 암호화를 시키면 두번다시 데이터를 원상복구 시킬 수 없습니다.

 

복호화가 불가능한데 나중에 어떻게 사용해요?

복호화가 불가능하기때문에 올바른 정보가 들어있는지 확인하는 방법은 새로운 값도 암호화를 시키고, 암호화된 값이 동일한지를 확인하는 방법이 있습니다.

 

출처:
- [Java] SHA 암호화 알고리
728x90