在java中生成OTP并对其进行加密的最佳方法

mag*_*iam 5 java encryption cryptography

生成 OTP(一次性密码或随机短字符串)并在 Java 中对其进行加密的最佳方法是什么?我熟悉MD5,sha256。但我猜这还不够,因为还有更好的方法来生成 OTP 字符串,并且有些方法使用了我不太熟悉它的工作原理的算法。例如,TOTP 上的 RFC 6238:基于时间的一次性密码算法。用于OTP。这会创建一个使用当前创建时间的“代码”吗?

还在网上找到了这个关于使用 java加密字符串的例子: encrypting string in java

基本上,我在这里试图实现的是安全地生成一个不太容易被黑客预测的代码并保护它。所以也许我会使用当前日期和时间以及用户的年龄生成一个代码。

因此,如果我想要生成短长度“代码”并对其进行加密的最佳方法,那么如果有人能够指导我应该关注哪个方向。很像使用排序算法。一些链接会有所帮助。

Sud*_*aur 2

查看加密算法,它非常安全,因为对于攻击者来说,解密它需要很长时间,而且它是所有加密算法中最慢的,在安全性方面是最好的