2012-09-03 70 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