【发布时间】:2021-10-22 09:34:43
【问题描述】:
我的数据库中有一个名为 user 的表,我将密码保存在 sha256 中。我想知道我现在是否可以从 sha256 获取原始值,以将其显示在用户配置文件前端上。
示例
use sha2::{Digest, Sha256};
fn test() {
let password = "secret value";
let password_sh256 = Sha256::digest(password.as_bytes());
let encrypted_password = format!("{:x}", password_sh256);
println!("result: {:?}", encrypted_password);
// result: "c3a57afaa51d985ac0b4117f509e2ce6dd94d520e441778736a945b4cb941755"
}
现在,如何利用名为 encrypted_password 的变量获得名为 password 的变量的原始值?
感谢您的帮助。
【问题讨论】:
-
说它不能完成有点过分,但是 SHA256 被精确地设计为 not 是可逆的,因此不太可能有一种省时的方法哈希回原来的密码。
-
你会想要阅读hash functions。
-
好的,我已经明白这将帮助我让用户验证他们的密码,但我无法让用户看到他们自己的密码。现在我认为展示它并不那么重要。
-
如果某个网站试图在任何地方向我显示我的原始密码,我可能会因为害怕而立即停止使用该网站,所以这似乎是一个不错的选择 :)
-
这能回答你的问题吗? How to decrypt a SHA-256 encrypted string?
标签: rust