Crate sp_crypto_hashing_proc_macro

Source
Expand description

Macros to calculate constant hash bytes result.

Macros from this crate does apply a specific hash function on input. Input can be literal byte array as b"content" or array of bytes as [1, 2, 3]. Rust identifier can also be use, in this case we use their utf8 string byte representation, for instance if the ident is MyStruct, then b"MyStruct" will be hashed. If multiple arguments comma separated are passed, they are concatenated then hashed.

Examples:

assert_eq!(
	sp_crypto_hashing_proc_macro::blake2b_256!(b"test"),
	sp_crypto_hashing::blake2_256(b"test"),
);
assert_eq!(
	sp_crypto_hashing_proc_macro::blake2b_256!([1u8]),
	sp_crypto_hashing::blake2_256(&[1u8]),
);
assert_eq!(
	sp_crypto_hashing_proc_macro::blake2b_256!([1, 2, 3]),
	sp_crypto_hashing::blake2_256(&[1, 2, 3]),
);
assert_eq!(
	sp_crypto_hashing_proc_macro::blake2b_256!(identifier),
	sp_crypto_hashing::blake2_256(b"identifier"),
);
assert_eq!(
	sp_crypto_hashing_proc_macro::blake2b_256!(identifier, b"/string"),
	sp_crypto_hashing::blake2_256(b"identifier/string"),
);

Macros§

blake2b_64
Process a Blake2 64-bit hash of bytes parameter outputs a [u8; 8]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
blake2b_256
Apply a Blake2 256-bit hash of bytes parameter, outputs a [u8; 32]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
blake2b_512
Apply a Blake2 512-bit hash of bytes parameter, outputs a [u8; 64]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
keccak_256
Apply a keccak 256-bit hash on its bytes parameter, outputs a [u8; 32]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
keccak_512
Apply a keccak 512-bit hash on its bytes parameter, outputs a [u8; 64]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
sha2_256
Apply a sha2 256-bit hash on its bytes parameter, outputs a [u8; 32]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
twox_64
Apply a XX 64-bit hash on its bytes parameter, outputs a [u8; 8]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.
twox_128
Apply a XX 128-bit hash on its bytes parameter, outputs a [u8; 16]. Multiple inputs are concatenated before hashing. Input can be identifier (name of identifier as bytes is used), byte string or array of bytes.