다음을 통해 공유


CryptBinaryToStringA 함수(wincrypt.h)

CryptBinaryToString 함수는 바이트 배열을 형식이 지정된 문자열로 변환합니다.

구문

BOOL CryptBinaryToStringA(
  [in]            const BYTE *pbBinary,
  [in]            DWORD      cbBinary,
  [in]            DWORD      dwFlags,
  [out, optional] LPSTR      pszString,
  [in, out]       DWORD      *pcchString
);

매개 변수

[in] pbBinary

문자열로 변환할 바이트 배열에 대한 포인터입니다.

[in] cbBinary

pbBinary 배열의 요소 수입니다.

[in] dwFlags

결과 형식이 지정된 문자열의 형식을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CRYPT_STRING_BASE64HEADER
0x00000000
인증서 시작 및 종료 헤더가 있는 Base64.
CRYPT_STRING_BASE64
0x00000001
머리글이 없는 Base64.
CRYPT_STRING_BINARY
0x00000002
순수 이진 복사입니다.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
요청 시작 및 종료 헤더가 있는 Base64.
CRYPT_STRING_HEX
0x00000004
16진수만 해당합니다.
CRYPT_STRING_HEXASCII
0x00000005
ASCII 문자 표시가 있는 16진수입니다.
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
X.509 CRL 시작 및 끝 헤더가 있는 Base64.
CRYPT_STRING_HEXADDR
0x0000000a
주소 표시가 있는 16진수입니다.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
ASCII 문자 및 주소 표시가 있는 16진수입니다.
CRYPT_STRING_HEXRAW
0x0000000c
원시 16진수 문자열입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

CRYPT_STRING_BASE64URI
0x0000000d
헤더가 없는 Base64는 RFC 4648 섹션 5에 정의된 대로 "-" 및 "/"로 대체된 "-" 및 "/"로 바뀝니다.
CRYPT_STRING_STRICT
0x20000000
ASN.1 텍스트 형식의 엄격한 디코딩을 적용합니다. 일부 ASN.1 이진 BLOBS에는 BLOB의 처음 몇 바이트가 Base64 텍스트로 잘못 해석될 수 있습니다. 이 경우 나머지 텍스트는 무시됩니다. 이 플래그를 사용하여 BLOB의 전체 디코딩을 적용합니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

 

위의 값 외에도 다음 값 중 하나 이상을 지정하여 함수의 동작을 수정할 수 있습니다.

의미
CRYPT_STRING_NOCRLF
0x40000000
인코딩된 문자열에 새 줄 문자를 추가하지 마세요. 기본 동작은 CR/LF(캐리지 리턴/줄 바꿈) 쌍(0x0D/0x0A)을 사용하여 새 줄을 나타내는 것입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

CRYPT_STRING_NOCR
0x80000000
새 줄에 LF(줄 바꿈) 문자(0x0A)만 사용합니다. 기본 동작은 CR/LF 쌍(0x0D/0x0A)을 사용하여 새 줄을 나타내는 것입니다.

[out, optional] pszString

변환된 문자열을 수신하는 버퍼에 대한 포인터입니다. 반환된 문자열을 보유하기 위해 할당해야 하는 문자 수를 계산하려면 이 매개 변수를 NULL로 설정합니다. 함수는 종료 NULL 문자를 포함하여 필요한 수의 문자를 pcchString이 가리키는 값에 배치합니다.

[in, out] pcchString

pszString 버퍼의 크기(TCHAR)를 포함하는 DWORD 변수에 대한 포인터입니다. pszStringNULL인 경우 함수는 TCHAR의 반환 문자열 길이(종료 null 문자 포함)를 계산하고 이 매개 변수에서 반환합니다. pszStringNULL이 아니고 충분히 큰 경우 함수는 이진 데이터를 종료 null 문자를 포함하여 지정된 문자열 형식으로 변환하지만, pcchString은 종료 null 문자를 포함하지 않고 TCHAR의 길이를 받습니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값(TRUE)을 반환합니다.

함수가 실패하면 0(FALSE)을 반환합니다.

설명

CRYPT_STRING_BINARY 인코딩이 사용되는 경우를 제외하고 모든 문자열에 새 줄 시퀀스가 추가됩니다. 기본적으로 새 줄 시퀀스는 CR/LF 쌍(0x0D/0x0A)입니다. dwFlags 매개 변수에 CRYPT_STRING_NOCR 플래그가 포함된 경우 새 줄 시퀀스는 LF 문자(0x0A)입니다. dwFlags 매개 변수에 CRYPT_STRING_NOCRLF 플래그가 포함된 경우 문자열에 새 줄 시퀀스가 추가되지 않습니다.

참고

wincrypt.h 헤더는 CRYptBinaryToString을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CryptStringToBinary