hash: fix hash_permutation on big endian
This commit is contained in:
parent
4cbb476cd1
commit
db24a2e509
|
@ -36,7 +36,14 @@
|
|||
#include "keccak.h"
|
||||
|
||||
void hash_permutation(union hash_state *state) {
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
keccakf((uint64_t*)state, 24);
|
||||
#else
|
||||
uint64_t le_state[25];
|
||||
memcpy_swap64le(le_state, state, 25);
|
||||
keccakf(le_state, 24);
|
||||
memcpy_swap64le(state, le_state, 25);
|
||||
#endif
|
||||
}
|
||||
|
||||
void hash_process(union hash_state *state, const uint8_t *buf, size_t count) {
|
||||
|
|
Loading…
Reference in New Issue