1
我在網上找到了一個SHA256的實現。它由一個文件sha256.c
組成,我已經在Linux上成功測試了這個函數。sha256在contiki os中出錯的散列
這裏的鏈接的文件:http://bradconte.com/sha256_c
當我嘗試在半自助旅遊旅行社使用它,輸出是不正確的。
這裏是一塊代碼:
unsigned char text1[]={"sallam"}, hash[32];
int idx;
SHA256_CTX ctx;
sha256_init(&ctx);
sha256_update(&ctx, text1, strlen(text1));
sha256_final(&ctx, hash);
print_hash(hash);
下面是我用它來打印散列函數:
void print_hash(unsigned char hash[])
{
int idx;
for (idx=0; idx < 32; idx++)
printf("%02x",hash[idx]);
printf("\n");
}
我已經嘗試過的格式ouptut更改爲%x
,但它沒沒有幫助。 我認爲這與小端與大端(endianness)問題有關。
那麼你的平臺(contiki?)使用哪種Endianness? – alk
還有哪個平臺是Linux運行的,你用於測試? – alk
我在虛擬機上使用instant contiki 2.7。 ubuntu的排序是小端,因爲contiki我不知道如何檢查它,請原諒我。 – yushaa4dz