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