這裏之間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;
}
輸出:
< 4IIA [RΗ#6π 8jDJb9ږ^ X
這裏是PHP代碼:
$hash=hash('sha512', 'GFLOuJnR19881218', TRUE);
輸出:?
<>4ǰII-A [RΗ#D6π8jDĴ b9 ږ ^X
C代碼和PHP代碼的結果不一樣,我的代碼出了什麼問題?
你什麼錯誤?發表一些例子。 –
最有可能的'data'和'$ data'是不同的。 –
打印C和PHP函數的輸入和輸出,所以我們可以看到你在用''不同'來談論什麼 – Mike