문자열 해싱은 문자열을 각 문자열에 대해 고유한 숫자(충돌 가능성은 무시할 수 있다고 가정함)로 표현하는 것입니다. 이를 통해 중요한 데이터(암호와 같은)를 문자열이 아닌 숫자로 데이터베이스에 저장할 수 있습니다. 이렇게 하면 공격자가 암호 데이터베이스에 대한 액세스 권한을 얻은 경우 암호를 보호할 수 있습니다. 암호 자체는 얻지 못하고 숫자 표현만 얻을 수 있으며 해시로 문자열을 얻는 것은 거의 불가능합니다(특히 해싱 알고리즘을 알지 못하는 경우). ).
다항식 해시는 프로그래밍 경쟁 문제에서 가장 자주 사용됩니다.
문자열 S의 해시 함수를 결정하는 가장 좋은 방법 중 하나는 다음과 같습니다.
h(S) = S[0] + S[1] * P + S[2] * P^2 + S[3] * P^3 + ... + S[N] * P^N