SIO Command $C5 Hash Output - FujiNetWIFI/fujinet-firmware GitHub Wiki
This is a command for Device $70 - The FujiNet Device itself (see SIO-Commands-for-Device-ID-$70).
Hash Output ($C5)
Description
This function retrieves the output buffer containing the hash data previously input and computed. You can fetch as many bytes up to the pre-set lengths of the given hash algorithms. Any attempt to get more bytes than are in the buffer will result in an error.
Supported hash output string sizes (bytes):
Hash | Binary | Hexadecimal |
---|---|---|
MD5 | 16 | 32 |
SHA1 | 20 | 40 |
SHA256 | 32 | 64 |
SHA512 | 64 | 128 |
[!important] You must select size based on desired output type and the last call to Hash Compute.
[!note] Firmware version required: 1.1 (2023.08.22) +
Parameters
DCB | Value |
---|---|
DDEVIC | $70 |
DUNIT | $01 |
DCOMND | $C5 |
DSTATS | $40 |
DBUF | a buffer as big as set by DBYT |
DTIMLO | $03 |
DBYT | the number of bytes to send back |
DAUX1 | the type of output to retreive (0=binary, 1=hexadecimal) |
Examples
CC65
unsigned char hash_output(char *s, unsigned short len)
{
OS.dcb.ddevic = 0x70;
OS.dcb.dunit = 1;
OS.dcb.dcomnd = 0xC5;
OS.dcb.dstats = 0x40;
OS.dcb.dbuf = s;
OS.dcb.dtimlo = 0x03;
OS.dcb.dbyt = len;
OS.dcb.daux1 = 1;
siov();
return OS.dcb.dstats; // Return SIO error or success.
}