PJW 해시함수
PJW hash functionPJW 해시함수는 AT&T Bell Labs의 Peter J. Weinberger가 만든 비암호 해시함수다.
기타 버전
ELF 형식의 유닉스 객체 파일에 사용되는 ElfHash 또는 Elf64 해시를 생성하기 위해 PJW 해시의 변형이 사용되었었다.
앨런 홀럽은 PJW 해시 알고리즘의 휴대용 버전을 만들었는데, 이 알고리즘은 나중에 이 교과서들 중 한 권의 저자가 시인한 대로 버그가 있었고 몇 권의 교과서로 끝나게 되었다.[1]
알고리즘.
PJW 해시 알고리즘은 이전 해시를 이동시키고 현재 바이트를 추가한 후 하이비트를 이동시키는 것을 포함한다.[2]
알고리즘 PJW_hash(s)는 uint h := 0비트 := 1 ~ S do h :=h > h :=h << bits/8 + s[i] high := h가 높은 경우 왼쪽에서 top bit/8비트를 가져와 h가 높은 경우 h := xor(높은 >) 비트 * 3/4) h=h &~높은 리턴 h이다.
실행
다음은 Unix ELF 형식에서 사용되는 알고리즘 구현이다.[3]
서명이 없는 장기의 엘프해시(경시하다 서명이 없는 마를 뜨다 *s) { 서명이 없는 장기의 h = 0, 높은; 하는 동안에 (*s) { h = (h << 4) + *s++; 만일 (높은 = h & 0xF0000000) h ^= 높은 >> 24; h &= ~높은; } 돌아오다 h; } 참고 항목
참조
- ^ Binstock, Andrew (1996). "Hashing Rehashed". Dr. Dobb's.
- ^ "Hash Functions". www.cs.hmc.edu. Retrieved 2015-06-10.
- ^ CORPORATE UNIX Press (1993). System V application binary interface. ISBN 0-13-100439-5.