HASH 스칼라 함수

HASH 함수는 선택한 알고리즘에 따라 입력 데이터의 128비트, 160비트, 256비트 또는 512비트 해시를 리턴하며 암호화 용도로 사용됩니다.

Read syntax diagramSkip visual syntax diagramHASH(string-expression ,0,algorithm )

스키마는 SYSIBM입니다.

문자열 표현식
해싱할 문자열 값을 나타내는 표현식입니다. 이 표현식은 내장 문자열, 그래픽 문자열, 2진 문자열, 숫자 값, 부울 값 또는 날짜 시간 값을 리턴해야 합니다. 값이 문자, 그래픽 또는 2진 문자열이 아니면 함수가 평가되기 전에 값이 내재적으로 VARCHAR로 캐스트됩니다.
알고리즘
해싱에 사용되는 알고리즘을 표시하는 값을 리턴하는 표현식입니다. 표현식은 내장 숫자, CHAR 또는 VARCHAR 데이터 유형이 있는 값을 리턴해야 합니다. 유니코드 데이터베이스에서 표현식은 GRAPHIC 또는 VARGRAPHIC 데이터 유형을 리턴할 수도 있습니다. 값이 INTEGER가 아닌 경우 함수가 평가되기 전에 INTEGER로 캐스트됩니다. 알고리즘이 지정되지 않은 경우 기본 알고리즘 값 0이 사용됩니다.
표 1 은 사용된 알고리즘, 결과 크기 및 각 알고리즘 값의 리턴값 수를 표시합니다.
표 1. 각 알고리즘의 결과 크기
알고리즘 값 알고리즘 결과 크기 리턴 값 수
0 MD5 128비트 2128
1 SHA1 160비트 2160
2 SHA2_256 256비트 2256
3 SHA2_512 512비트 2512
SHA1 및 MD5 알고리즘에서 보안 결점이 식별되었다는 점을 참고하십시오. NIST(National Institute of Standards and Technology) Special Publication 800-131A와 같은 적용 가능한 준수 문서에서 승인할 수 있는 해싱 알고리즘을 찾을 수 있습니다.

결과

결과의 데이터 유형은 VARBINARY입니다. 임의의 인수가 널(NULL)일 수 있는 경우 결과는 널(NULL)일 수 있습니다. 인수가 널(NULL)이면 결과는 널(NULL) 값이 됩니다.

values  hash('Charlie at IBM', 1)
result is x'D6E42303462491FC696EAC53C1B086A5034735A7'