-
[암호화] SHA-256 암호화 방법 (알고리즘 소스코드 포함)Programming Language/Java 2021. 9. 6. 23:00
메인 프로젝트 진행중에 로그인 부분의 암호화를 담당하게 되었다.
밀린 학습들이 결국 메인 프로젝트를 늪으로 끌고 가는거 같ㄷr.... 띠로리
산을 넘으면 또 다른 산이 기다리고 있지만 그래도 잘 해내고 있다.
아무튼 간단히라도 기록을 남겨두려고 한다!
1. SHA-256 알고리즘 코드
- 알고리즘 코드는 다양하게 있었고 SHA-256 뿐만 아니라 MD5 도 있었는데 MD5는 암호화 결함이 발견되어 SHA-256 을 많이 사용하는 것으로 알고있다. SHA-256 알고리즘도 다양하기 때문에 다른 알고리즘도 적용해 보는 것을 추천한다.
- SHA-256 은 단방향(암호화만 제공) 알고리즘이니 참고할 것
*hex: 16진수
1234567891011121314151617181920212223import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class SHA256 {public String encrypt(String text) throws NoSuchAlgorithmException {MessageDigest md = MessageDigest.getInstance(" SHA-256 ");md.update(text.getBytes());return bytesToHex(md.digest());}private String bytesToHex(byte[] bytes) {StringBuilder builder = new StringBuilder();for (byte b : bytes) {builder.append(String.format("%02x", b));}return builder.toString();}}cs 2. Main Class에 알맞게 적용한 코드
- 아래는 VO에서 받아온 정보를 나한테 맞게 약간 수정하였다.
3. 비밀번호 및 암호화된 비밀번호 일치 여부
- 콘솔 출력문을 통해 알 수 있듯이 암호화가 진행된 것이 확인 가능하며, 비밀번호 일치 결과가 true 인 것을 알 수 있다.
'Programming Language > Java' 카테고리의 다른 글