#sha-2 #hashable #derive #traits #derived #exporting #derivable

sha2-derive

导出一个可导出的 Hashable 特性,该特性与 sha2 一起工作

3 个版本

0.1.2 2022 年 3 月 31 日
0.1.1 2022 年 3 月 31 日
0.1.0 2022 年 3 月 31 日

1386Rust 模式

MIT 许可证

8KB
138

sha2-derive

此包提供了一种简单的 Hashable 特性,可以轻松地进行派生。目前,派生宏仅适用于结构体。

示例

use sha2_derive::*;

#[derive(Hashable)]
struct User {
    username: String,
    age: u8,
    timestamps: Vec<u64>,
}

fn main() {
    let user = User {
        username: String::from("Mubelotix"),
        age: 42,
        timestamps: vec![1, 2, 3],
    };

    let hash = user.hash();
}

在自定义类型上实现 Hashable

struct CustomType {
   // fields
}

impl Hashable for CustomType {
    fn update_hasher(&self, hasher: &mut impl sha2::Digest) {
        todo!()
    }
}

许可证:MIT


lib.rs:

此包提供了一种简单的 Hashable 特性,可以轻松地进行派生。
目前,派生宏仅适用于结构体。

示例

use sha2_derive::*;

#[derive(Hashable)]
struct User {
    username: String,
    age: u8,
    timestamps: Vec<u64>,
}

fn main() {
    let user = User {
        username: String::from("Mubelotix"),
        age: 42,
        timestamps: vec![1, 2, 3],
    };

    let hash = user.hash();
}

在自定义类型上实现 Hashable

struct CustomType {
   // fields
}

impl Hashable for CustomType {
    fn update_hasher(&self, hasher: &mut impl sha2::Digest) {
        todo!()
    }
}

依赖项

~435KB
~10K SLoC