mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-28 00:28:01 +00:00
chore: reduce copy times for bytes in core-hashing (#13519)
* chore: reduce copy bytes for core-hashing * improve by suggestions and remove unused `xx_into` * chore: replace sha2 crate by `sp_core::hashing` for pallet-alliance * fix features * use sp-core-hashing directly * add to dev-dep
This commit is contained in:
@@ -35,48 +35,22 @@ pub fn blake2_512_into(data: &[u8], dest: &mut [u8; 64]) {
|
||||
|
||||
/// Do a Blake2 512-bit hash and return result.
|
||||
pub fn blake2_512(data: &[u8]) -> [u8; 64] {
|
||||
let mut r = [0; 64];
|
||||
blake2_512_into(data, &mut r);
|
||||
r
|
||||
}
|
||||
|
||||
/// Do a Blake2 256-bit hash and place result in `dest`.
|
||||
pub fn blake2_256_into(data: &[u8], dest: &mut [u8; 32]) {
|
||||
type Blake2b256 = blake2::Blake2b<U32>;
|
||||
dest.copy_from_slice(Blake2b256::digest(data).as_slice());
|
||||
blake2::Blake2b512::digest(data).into()
|
||||
}
|
||||
|
||||
/// Do a Blake2 256-bit hash and return result.
|
||||
pub fn blake2_256(data: &[u8]) -> [u8; 32] {
|
||||
let mut r = [0; 32];
|
||||
blake2_256_into(data, &mut r);
|
||||
r
|
||||
}
|
||||
|
||||
/// Do a Blake2 128-bit hash and place result in `dest`.
|
||||
pub fn blake2_128_into(data: &[u8], dest: &mut [u8; 16]) {
|
||||
type Blake2b128 = blake2::Blake2b<U16>;
|
||||
dest.copy_from_slice(Blake2b128::digest(data).as_slice());
|
||||
blake2::Blake2b::<U32>::digest(data).into()
|
||||
}
|
||||
|
||||
/// Do a Blake2 128-bit hash and return result.
|
||||
pub fn blake2_128(data: &[u8]) -> [u8; 16] {
|
||||
let mut r = [0; 16];
|
||||
blake2_128_into(data, &mut r);
|
||||
r
|
||||
}
|
||||
|
||||
/// Do a Blake2 64-bit hash and place result in `dest`.
|
||||
pub fn blake2_64_into(data: &[u8], dest: &mut [u8; 8]) {
|
||||
type Blake2b64 = blake2::Blake2b<U8>;
|
||||
dest.copy_from_slice(Blake2b64::digest(data).as_slice());
|
||||
blake2::Blake2b::<U16>::digest(data).into()
|
||||
}
|
||||
|
||||
/// Do a Blake2 64-bit hash and return result.
|
||||
pub fn blake2_64(data: &[u8]) -> [u8; 8] {
|
||||
let mut r = [0; 8];
|
||||
blake2_64_into(data, &mut r);
|
||||
r
|
||||
blake2::Blake2b::<U8>::digest(data).into()
|
||||
}
|
||||
|
||||
/// Do a XX 64-bit hash and place result in `dest`.
|
||||
@@ -128,21 +102,15 @@ pub fn twox_256(data: &[u8]) -> [u8; 32] {
|
||||
|
||||
/// Do a keccak 256-bit hash and return result.
|
||||
pub fn keccak_256(data: &[u8]) -> [u8; 32] {
|
||||
let mut output = [0u8; 32];
|
||||
output.copy_from_slice(sha3::Keccak256::digest(data).as_slice());
|
||||
output
|
||||
sha3::Keccak256::digest(data).into()
|
||||
}
|
||||
|
||||
/// Do a keccak 512-bit hash and return result.
|
||||
pub fn keccak_512(data: &[u8]) -> [u8; 64] {
|
||||
let mut output = [0u8; 64];
|
||||
output.copy_from_slice(sha3::Keccak512::digest(data).as_slice());
|
||||
output
|
||||
sha3::Keccak512::digest(data).into()
|
||||
}
|
||||
|
||||
/// Do a sha2 256-bit hash and return result.
|
||||
pub fn sha2_256(data: &[u8]) -> [u8; 32] {
|
||||
let mut output = [0u8; 32];
|
||||
output.copy_from_slice(sha2::Sha256::digest(data).as_slice());
|
||||
output
|
||||
sha2::Sha256::digest(data).into()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user