什么是在Java中生成OTP(一次性密码或随机短字符串)并加密它的最佳方法?我熟悉MD5、sha256。但我猜这还不够,因为仍然有更好的方法来生成OTP字符串,并且有些使用了我不太熟悉其工作原理的算法。例如RFC 6238上的TOTP:基于时间的一次性密码算法。用于OTP。这会创建一个“代码”,它将使用它创建时的当前时间吗?
此外,在网上找到了这个示例关于使用Java加密字符串: 在Java中加密字符串 基本上,我想要实现的是安全地生成一个较少易被黑客猜测的代码并对其进行安全保护。所以也许我会使用当前日期和时间以及用户年龄生成一个代码。
如果有人能指导我,告诉我应该如何选择最佳生成短代码并对其进行加密的方向,就像使用某种算法一样,那么几个链接将非常有帮助。
此外,在网上找到了这个示例关于使用Java加密字符串: 在Java中加密字符串 基本上,我想要实现的是安全地生成一个较少易被黑客猜测的代码并对其进行安全保护。所以也许我会使用当前日期和时间以及用户年龄生成一个代码。
如果有人能指导我,告诉我应该如何选择最佳生成短代码并对其进行加密的方向,就像使用某种算法一样,那么几个链接将非常有帮助。
new SecureRandom()
。这应该足够满足大多数用例。 - Maarten Bodewes