CryptHashData 함수(wincrypt.h)
중요 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다.
이 함수를 호출하기 전에 CryptCreateHash 를 호출하여 해시 개체의 핸들을 만들어야 합니다.
BOOL CryptHashData(
[in] HCRYPTHASH hHash,
[in] const BYTE *pbData,
[in] DWORD dwDataLen,
[in] DWORD dwFlags
);
[in] hHash
해시 개체의 핸들입니다.
[in] pbData
해시 개체에 추가할 데이터가 포함된 버퍼에 대한 포인터입니다.
[in] dwDataLen
추가할 데이터 바이트 수입니다. CRYPT_USERDATA 플래그가 설정된 경우 0이어야 합니다.
[in] dwFlags
다음 플래그 값이 정의됩니다.
함수가 성공하면 반환 값은 TRUE입니다.
함수가 실패하면 반환 값은 FALSE입니다. 확장된 오류 정보는 GetLastError를 호출합니다.
"NTE"가 앞에 있는 오류 코드는 사용 중인 특정 CSP에 의해 생성됩니다. 몇 가지 가능한 오류 코드는 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
매개 변수 중 하나는 유효하지 않은 핸들을 지정합니다. |
|
매개 변수 중 하나에는 유효하지 않은 값이 포함되어 있습니다. 이는 가장 자주 유효하지 않은 포인터입니다. |
|
hHash 핸들은 이 CSP가 지원하지 않는 알고리즘을 지정합니다. |
|
dwFlags 매개 변수에는 유효하지 않은 값이 포함되어 있습니다. |
|
hHash 매개 변수로 지정된 해시 개체가 잘못되었습니다. |
|
이미 "완료됨"으로 표시된 해시 개체에 데이터를 추가하려고 했습니다. |
|
키 해시 알고리즘이 사용되고 있지만 세션 키가 더 이상 유효하지 않습니다. 이 오류는 해싱 작업이 완료되기 전에 세션 키가 제거되면 생성됩니다. |
|
CSP는 CRYPT_USERDATA 플래그를 무시하지 않고 플래그가 설정되며 dwDataLen 매개 변수에 0이 아닌 값이 있습니다. |
|
해시 개체를 만들 때 지정한 CSP 컨텍스트를 찾을 수 없습니다. |
|
함수가 예기치 않은 방식으로 실패했습니다. |
|
작업 중에 CSP 메모리가 부족했습니다. |
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |