openssl/sha.h から 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
どんな助けでも素晴らしいでしょう!