#user-name #identity #third-party #credentials #key-pair #public #asymmetric

zemi-identity

无需信任第三方即可创建凭证的身份工具。该库可以从用户凭证中确定性地生成一个非对称密钥对。它还生成一个与提供的用户名相关联的连续公共身份,不易被用于发现用户名。

2 个版本

0.1.1 2022年11月16日
0.1.0 2022年11月15日

#787 in 身份验证

MIT 许可证

18KB
277 代码行

zemi-identity

Zemi 身份

无需信任第三方即可创建凭证的身份工具。该库可以从用户凭证中确定性地生成一个非对称密钥对。它还生成一个与提供的用户名相关联的连续公共身份,不易被用于发现用户名。

重要导出

版本 1(当前版本)

  • 使用 Argon2di 提取密钥材料。
  • 使用 ed25519 椭圆曲线密码学进行密钥。

示例:从凭证

let identity = Identity::from_credentials("username", "password", "salt", Version::V1)?;
let signature = identity.sign(b"message")?;
let verify_op = identity.verify(b"message", &signature);
assert!(verify_op.is_ok());

示例:到公共身份

let identity = Identity::from_credentials("username", "password", "salt", Version::V1)?;
let public = identity.to_public_identity();
let verify_op = public.verify(b"message", &signature);
assert!(verify_op.is_ok());

依赖项

~4.5MB
~90K SLoC