sha1() 함수가 openssl/sha.h에서 작동하도록 노력하고 있습니다. 그러나 임의의 출력과 경고가 표시됩니다. 나는 꽤 많이 읽었고 몇 가지 예제 코드를 시도했지만 모든 것에 대해 경고를 받았고 제대로 표시되지 않습니다.C에서 SHA1 오류 구현
다음#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <openssl/sha.h>
int main()
{
const unsigned char data[] = "Hello, World";
unsigned long length = sizeof(data);
unsigned char hash[SHA_DIGEST_LENGTH];
SHA1(data, length, hash);
printf("%02x \n", hash);
return 0;
}
내가 무엇입니까 경고입니다 : 여기
코드입니다
sha.c: In function ‘main’:
sha.c:12: warning: ‘SHA1’ is deprecated (declared at /usr/include/openssl/sha.h:124)
sha.c:13: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 2 has type ‘unsigned char *’
sha.c:13: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 2 has type ‘unsigned char *’
내가 그것을 실행하고 나는 출력을 얻을 때 : 62652b34
상관 도움이 될 것를 큰!
를 길이가 정확한지 확인 : 당신이 당신의 버전을 사용하려면 당신은 진수로 각각의 문자를 인쇄 할 필요가있다.대부분의 경우, "Hello, World"의 길이는 12가되어야하지만, sizeof()가 ascii 문자를 세는 것처럼 13이라고 생각합니다. –