首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在底层运行时模块中支持哪些散列算法?

在底层运行时模块中支持哪些散列算法?
EN

Stack Overflow用户
提问于 2019-05-28 19:26:18
回答 1查看 125关注 0票数 1

在构建底层运行时模块时,我可以访问哪些散列算法?

我是否可以导入其他散列算法,以便在衬底运行时模块中使用?

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 19:26:18

在写这篇文章的时候,底层在core/sr-io机箱中提供了一个HashingApi特征,它提供了以下散列函数:

代码语言:javascript
复制
export_api! {
    pub(crate) trait HashingApi {
        /// Conduct a 256-bit Keccak hash.
        fn keccak_256(data: &[u8]) -> [u8; 32] ;

        /// Conduct a 128-bit Blake2 hash.
        fn blake2_128(data: &[u8]) -> [u8; 16];

        /// Conduct a 256-bit Blake2 hash.
        fn blake2_256(data: &[u8]) -> [u8; 32];

        /// Conduct four XX hashes to give a 256-bit result.
        fn twox_256(data: &[u8]) -> [u8; 32];

        /// Conduct two XX hashes to give a 128-bit result.
        fn twox_128(data: &[u8]) -> [u8; 16];

        /// Conduct two XX hashes to give a 64-bit result.
        fn twox_64(data: &[u8]) -> [u8; 8];
    }
}

因为这些函数是为Runtime编写的,而Runtime必须构建为Wasm,所以它们必须在不使用标准Rust库(std)的情况下进行编译。

如果你想在你的底层运行时引入新的散列算法或任何新的库,你必须确保它也可以在没有std的情况下构建,但除此之外,我相信天空是有限的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56341171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档