2012-09-03 72 views
0

這個簡單的代碼需要用戶輸入並打印到stdout給定字符串的sha256。將鹽添加到sha256 openssl?

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <openssl/sha.h> 

int main() 
{ 
SHA256_CTX context; 
unsigned char md[SHA256_DIGEST_LENGTH]; 
char *input; 
printf("Watta hash: "); 
scanf("%m[^\n]%*c", &input); 
size_t length = strlen((const char*)input); 
int i; 
SHA256_Init(&context); 
SHA256_Update(&context, (unsigned char*)input, length); 
SHA256_Final(md, &context); 
for(i=0; i<SHA256_DIGEST_LENGTH; i++){ 
    printf("%02x", md[i]); 
} 
printf("\n"); 
free(input); 
return 0; 
} 

我的問題是:如何將鹽添加到此散列?

回答

2

將第二個電話添加到SHA256_Update(),其中數據是所需的鹽。

+0

你說得對:D非常感謝! – polslinux