SHA512 사이의 각은 C 코드 :OpenSSL을 여기서 PHP
#include <openssl/sha.h>
#include <stdio.h>
char *hash_sha512(char *data){
SHA512_CTX ctx;
char *md=malloc(sizeof(char)*(SHA512_DIGEST_LENGTH+1));
SHA512_Init(&ctx);
SHA512_Update(&ctx, data, strlen(data));
SHA512_Final(md, &ctx);
md[SHA512_DIGEST_LENGTH]='\0';
return md;
}
int main(int argc, char *argv[]){
str=hash_sha512("GFLOuJnR19881218");
printf("%s\n", str);
free(str);
return 1;
}
출력 :
은 PHP 코드 :< 4IIA [R Η # 6π 8jDJb9 ږ^X 여기서
$hash=hash('sha512', 'GFLOuJnR19881218', TRUE);
01,235 16,
출력 :?
<> 4ǰII-A [R Η # J D6π8jD b9 ږ ^X
C 코드와 PHP 코드의 결과가 다른데, 내 코드에 어떤 문제가 있습니까?
무슨 에러가 발생합니까? 몇 가지 예를 게시하십시오. –
'data'와'$ data'는 서로 다른 것 같습니다. –
C와 PHP 함수 모두의 입력과 출력을 출력하여 'different'에 대한 이야기를 볼 수 있습니다. – Mike