[JAVA] 56. 해시(Hash)

문정준's avatar
Feb 18, 2025
[JAVA] 56. 해시(Hash)
해시 (Hash)
어떤 데이터를 특정한 길이만큼 압축하는 단방향 알고리즘
  • 복호화 불가
  • 원본 증명 가능
    • 한 번 해시화했으면, 다시 해도 결과는 같음
    • 충돌이 발생하지 않음
 

1. 해시(Hash)란?

  • 어떤 데이터를 특정한 길이만큼 압축하는 단방향 알고리즘
  • 복호화 불가
  • 원본 증명 가능
    • 한 번 해시화했으면, 다시 해도 결과는 같음
    • 충돌이 발생하지 않음
notion image
 
package ex17; public class Ha01 { public static int simpleHash(String key, int tableSize) { int hash = 0; for (char c : key.toCharArray()) { hash += c; // 각 문자의 ASCII 값을 더함 } return hash % tableSize; // 테이블 크기로 나눈 나머지를 해시 값으로 사용 } public static void main(String[] args) { String key1 = "apple"; String key2 = "banana"; int tableSize = 10; // 해시 테이블 크기 System.out.println("apple의 해시 값: " + simpleHash(key1, tableSize)); System.out.println("banana의 해시 값: " + simpleHash(key2, tableSize)); } }
 
 
Share article

sxias