Cryptography 从用户名生成强密码

Cryptography 从用户名生成强密码,cryptography,passwords,Cryptography,Passwords,我不想生成随机密码,因为将来可能需要引用密码。要求是在两台机器之间进行身份验证,我只有usertoken(标识用户的唯一字母数字字符串)。但是,另一个系统需要用户名和密码。另外,将来我可能需要为给定的usertoken重新生成相同的用户名和密码。有现成的Java服务可以做到这一点吗?我环顾四周,但没有。我能想到的是使用加密技术从usertoken生成2个新字符串,这允许我将来重新生成。请思考。你能不能不简单地将密码存储在某个地方,而不是重复可靠地重新生成同一个密码?令牌的哈希和正确的编码可能是可

我不想生成随机密码,因为将来可能需要引用密码。要求是在两台机器之间进行身份验证,我只有usertoken(标识用户的唯一字母数字字符串)。但是,另一个系统需要用户名和密码。另外,将来我可能需要为给定的usertoken重新生成相同的用户名和密码。有现成的Java服务可以做到这一点吗?我环顾四周,但没有。我能想到的是使用加密技术从usertoken生成2个新字符串,这允许我将来重新生成。请思考。

你能不能不简单地将密码存储在某个地方,而不是重复可靠地重新生成同一个密码?令牌的哈希和正确的编码可能是可以的(用户名和密码单独使用HKDF更好),这取决于你想保护谁(威胁模型)。问题仍然是为什么您不能存储密码,以及是否必须应用某种密码规则。由于业务需要,我不能存储密码,并且密码不需要严格的规则。我不得不指出,根据您的威胁模型,这可能是不安全的。在许多系统上,任何用户都很容易获得所有现有用户名的列表,如果密码生成方案被显示(例如,如果它在你的应用程序中,有人对其进行反向工程),那么密码也会被显示。