本文介绍了UUID.randomUUID()是否适合用作一次性密码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 之前讨论过,确认电子邮件应该是有一个独特的,(实际上)不可猜测的代码 - 基本上是一个一次性密码 - 在确认链接中。As previous discussed, confirmation emails should have a unique, (practically) un-guessable code--essentially a one-time password--in the confirmation link. UUID.randomUUID()docs 说:这是否意味着正确实现的JVM中的UUID随机生成器适合使用作为唯一的,(实际上)不可猜测的OTP?Does this imply that the the UUID random generator in a properly implemented JVM is suitable for use as the unique, (practically) un-guessable OTP?推荐答案 否。根据 UUID规范:此外,UUID只有16个可能的字符(0到F) 。您可以使用 SecureRandom 生成更紧凑且明确安全的随机密码(感谢@erickson)。Also, UUIDs only have 16 possible characters (0 through F). You can generate a much more compact and explicitly secure random password using SecureRandom (thanks to @erickson).import java.security.SecureRandom;import java.math.BigInteger;public final class PasswordGenerator { private SecureRandom random = new SecureRandom(); public String nextPassword() { return new BigInteger(130, random).toString(32); }} 这篇关于UUID.randomUUID()是否适合用作一次性密码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 08-22 16:31