"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > SHA-256을 사용하여 Java에서 보안 문자열 해싱을 구현하는 방법은 무엇입니까?

SHA-256을 사용하여 Java에서 보안 문자열 해싱을 구현하는 방법은 무엇입니까?

2024년 11월 19일에 게시됨
검색:638

How to Implement Secure String Hashing in Java with SHA-256?

SHA-256을 사용하는 Java 해시 문자열

Java에서 SHA-256을 사용하여 문자열을 해싱하는 것은 간단한 작업처럼 보일 수 있지만 해싱과 인코딩 사이의 중요한 차이점은 설명이 필요합니다.

SHA-256(Secure Hash Algorithm-256)은 인코딩 메커니즘이 아닙니다. 단방향 해시 함수입니다. 즉, 문자열을 해시하면 되돌릴 수 없는 바이너리 데이터 시퀀스가 ​​생성됩니다.

Java에서 SHA-256 해싱을 적용하려면 다음 단계를 따르세요.

  1. 변환 문자열을 바이트로: UTF-8과 같은 문자 인코딩을 사용하여 입력 문자열을 바이트 배열로 변환합니다.
byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
  1. MessageDigest 인스턴스 생성: SHA-256 메시지 다이제스트 알고리즘을 인스턴스화합니다.
MessageDigest digest = MessageDigest.getInstance("SHA-256");
  1. 메시지 다이제스트 업데이트: 문자열을 나타내는 바이트 배열을 메시지 다이제스트에 공급합니다.
digest.update(bytes);
  1. 해시 계산: 메시지 다이제스트에서 해시 값을 생성합니다.
byte[] hash = digest.digest();

중요 사항:

결과 해시는 이진 형식입니다. 문자열로 표현하려면 base64 또는 16진수 인코딩 사용을 고려하세요. String(byte[], String) 생성자를 사용하지 마십시오. 문자가 깨질 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3