SHA1 pro AtMega

Pšeji hezký den.
Nemá někdo nějaký funkční kompletní příklad pro AtMega8 - vytvoření hashe SHA1? Zoušel jsem různé verze co jsem našel přes google ale žádnou se mi nepodařilo přeložit. Nebo po přeložení nedává očekávaný výsledek.
Děkuji mockrát.

Tak mi alespoň poraďte s následujícím projektem.
uloz.to/xtN3tjjJ/sha1-tst-zip
Je to projekt pro AvrStudio 4.19. Při překladu to hlásí nějaké chyby, výsledek funkce neodpovídá realitě, ale já si s tím nedokážu poradit.
Kdyby se na to někdo mohl kounout.
Děkuji

:arrow_right: administrator: přiloženy externí soubory
SHA1_TST.zip (64.1 KB)

Hodilo mi to jenom 2 warningy :

…/sha1.c:250:6: warning: left shift count >= width of type [enabled by default]
…/sha1.c:251:9: warning: left shift count >= width of type [enabled by default]

Přepsal jsem

W[t] = context->Message_Block[t * 4UL] << 24; W[t] |= context->Message_Block[t * 4UL + 1UL] << 16UL; W[t] |= context->Message_Block[t * 4UL + 2UL] << 8UL; W[t] |= context->Message_Block[t * 4UL + 3UL];

na

W[t] = (uint32_t)context->Message_Block[t * 4UL] << 24UL; W[t] |= (uint32_t)context->Message_Block[t * 4UL + 1UL] << 16UL; W[t] |= (uint32_t)context->Message_Block[t * 4UL + 2UL] << 8UL; W[t] |= (uint32_t)context->Message_Block[t * 4UL + 3UL];

Warningy z překladu zmizely. Jestli to funguje nevím.

Děkuji, večer to zkusím.
Edit: Tak to funguje jupi :slight_smile: Diky moc. Blbe pretypovani.

Tak nakonec mi jeste pomohli kluci z avrfreaks, kteri me navedli na AVR Crypto lib. Libi se mi ze je knihovna v asembleru a pouziti je vylozene jednoduche.
Zde hotovy projekt v Code::Block for arduino
1316 bytes of program a 101 bytes of Data
uloz.to/xk52WkkU/sha-test-zip

:arrow_right: administrator: přiloženy externí soubory
SHA_TEST.zip (32.4 KB)