繁体   English   中英

Rust:如何 hash 一个字符串?

[英]Rust: How to hash a string?

我正在尝试在 Rust 中创建一个控制台应用程序,您必须在其中输入密码才能访问文件的 rest,所以我想确保您不能只读取文件来查找密码,所以我想存储密码为 hash,因此它(不可能)不可逆。

我在 Rust 中查找了散列,但它们似乎只能用于结构,而我正在尝试插入一个字符串。 结构是能够做到这一点的唯一方法吗?

谢谢

Rust 中的内置 Hash class 旨在处理数据以进入 Z063A5BC470661C37C75ZE 或 HashSetB7E。 这不适用于密码验证。

如果要执行密码验证,则应使用密码 hash,如 Argon2id 或 scrypt。 您可以在argon2scrypt板条箱中找到这些。 密码哈希总是占用字节,因此您需要将 String 作为&[u8]访问。 password_hash crate 提供了可以用来将它们转换为序列化密码的特征。

如果您的目标是使用密码加密文件的其余部分,那么您应该使用与 NaCl 的绑定之一。 该库具有旨在确保安全的原语。 您将使用密码 hash 功能和随机盐来生成密钥,然后将其用作具有随机随机数的秘密框的密钥输入。 还有其他方法可以做到这一点,但除非您精通密码学,否则使用 NaCl 是一个明智的选择,因为它更难被滥用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM