最好的方法是不要尝试恢复原始密码。如果用户忘记密码,则生成一个新的随机密码,并使用带外方法将其发送给用户(例如电子邮件)。请记住,哈希密码的整个目的是防止恢复。我知道,我知道,电子邮件并不安全。但是,如果您要求用户立即更改生成的密码,则可以减轻风险。顺便说一句,我强烈建议您还要对密码进行盐值处理和迭代哈希以防止暴力攻击,即使攻击者获得了哈希值。
不行 目前没有已知的有效方法可以将sha1哈希值转换回其原始文本(因为它是一种单向函数)。如果您想在以后向用户显示他们的密码,您 必须 将其存储在可逆的方法中(如加密,明文)。这仍然可能是一个坏主意,请尝试找到更好的方式。