16 진수 값의 문자열이 있으며 함수 입력으로 사용할 수 있도록 char 배열로 출력해야합니다.16 진수 문자열을 char 배열로 변환
ffffff81 0D ffffffcb fffffff2 36 45 7F ffffffee 73 층 10 : SHA512 (firststring)의 출력 단
810dcbf236457fee732f100d261c101412e04fc08abd4cb6ddd4442a7cb690acfcae6eeec25e321d5cf5d63174a3b38b31c0143a5702f5f28a43f38b10742853
것이라고
std::string firststring = "baaaaaaa";
char bufferascii[128];
std::string firsthash = sha512(firststring);
firsthash.copy(bufferascii, 128,0);
char buffer[64];
for(int i=0; i<64; i++) {
char temp[4];
temp[0] = bufferascii[i*2];
temp[1] = bufferascii[(i*2)+1];
temp[2] = 0;
int temp0;
sscanf(temp, "%x", &temp0);
buffer[i] = (char)temp0;
printf("%02x", buffer[i]); printf(" ");
}
참고 코드 대신 인쇄이고 0d 26 1c 10 14 12 ffffffe0 4f ffffffc0 ffffff8a ffffffbd 4c ffffffb6 ffffffdd ffffffd4 44 2a 7c ffffffb6 ffffff90 ffffffac fffffffc ffffffae 6e f 불행히도
unsigned char buffer[64];
:뿐만 버퍼 정의 할 때 fffffee ffffffc2 5E 32 1D 5C fffffff5 ffffffd6 31 74 ffffffa3 ffffffb3 31 ffffffc0 14 3A 57 02 fffffff5 fffffff2 ffffff8a 43 fffffff3 10 74 28 53
를 코드 작동 ffffff8b ffffff8b 그런 다음이 unsigned char 배열을 입력으로 char 배열이 필요한 다음 함수에 전달할 수 없습니다. 나는 이것이 내 컴파일러가 signed chars를 사용한다는 것을 가정한다.
무엇이 여기에 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.
'의 printf ("%의 02x"(서명 숯불) [I 완충액)' –