and*_*oke 14
如果你看过RFC链接到从API文档定义的UUID,并且,你会看到UUID的不是所有的位实际上是随机的(以下简称"变体"和"版本"是不是随机的).因此,如果正确实现,类型4 UUID(您打算使用的类型)应该具有122位(对于此实现是安全的)随机信息,总大小为128位.
所以是的,它将与"安全"生成器中的122位随机数一样有效. 但是较短的值可能包含足够的随机性并且可能对用户来说更容易(也许我是唯一一个仍在终端中阅读电子邮件的老式人,但是包含在行之间的确认URL很烦人....) .
不.根据UUID规范:
不要以为UUID难以猜测; 例如,它们不应被用作安全功能(仅仅拥有访问权限的标识符).可预测的随机数源将加剧这种情况.
此外,UUID只有16个可能的字符(0到F).您可以使用SecureRandom
(感谢@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);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15357 次 |
最近记录: |