当前位置: 首页 > 面试题库 >

如何创建密码?

欧阳英彦
2023-03-14
问题内容

我想给一些用户提供一百万个密码,例如:

  1. 必须至少包含6个字符
  2. 它必须包含数字和字母

我应该Random在这里使用吗?怎么样?


问题答案:

Apache Commons
Lang的RandomStringUtils提供了一些生成随机字符串的方法,该字符串可用作密码。

以下是8个字符的密码创建示例:

// Passwords with only alphabetic characters.
for (int i = 0; i < 8; i++) {
    System.out.println(RandomStringUtils.randomAlphabetic(8));
}
System.out.println("--------");
// Passwords with alphabetic and numeric characters.
for (int i = 0; i < 8; i++) {
    System.out.println(RandomStringUtils.randomAlphanumeric(8));
}

这将产生以下结果:

zXHzaLdG
oDtlFDdf
bqPbXVfq
tzQUWuxU
qBHBRKQP
uBLwSvnt
gzBcTnIm
yTUgXlCc
--------
khDzEFD2
cHz1p6yJ
3loXcBau
F6NJAQr7
PyfN079I
8tJye7bu
phfwpY6y
62q27YRt

当然,您也可以使用一些方法来限制密码生成所允许的字符集:

for (int i = 0; i < 8; i++) {
    System.out.println(RandomStringUtils.random(8, "abcDEF123"));
}

将仅创建以下字符的密码:a,b,c,D,E,F,1、2或3:

D13DD1Eb
cac1Dac2
FE1bD2DE
2ab3Fb3D
213cFEFD
3c2FEDDF
FDbFcc1E
b2cD1c11


 类似资料:
  • 问题内容: 我正在尝试为Laravel创建哈希密码。现在有人告诉我使用Laravel哈希帮助器,但我似乎找不到它,或者我的方向错误。 如何创建laravel哈希密码?在哪 编辑:我知道代码是什么,但我不知道在哪里以及如何使用它,因此它给了我哈希密码。如果得到哈希密码,则可以手动将其插入数据库 问题答案: 使用Bcrypt散列密码: 这将创建一个哈希密码。您可以在控制器中甚至在模型中使用它,例如,如

  • 我正在为拉拉维尔创建一个散列密码。现在有人告诉我使用Laravel哈希助手,但我似乎找不到它,或者我找错了方向。 如何创建laravel散列密码?在哪呢? 编辑:我知道代码是什么,但我不知道在哪里和如何使用它,所以它返回给我散列密码。如果得到散列密码,就可以手动将其插入数据库

  • 问题内容: 我完全不了解这个过程。我已经能够导航到Java SDK中包含keytool的文件夹。尽管我不断收到错误,但openssl无法识别为内部或外部命令。问题是,即使我可以解决这个问题,我该怎么办?之后怎么办? 问题答案: 这是你需要做的 从代码 提取中下载openSSl 。在C:/中创建一个文件夹-OpenSSL,然后在此处复制提取的代码。 检测debug.keystore文件路径。如果找不

  • 在画布中,为了让LTI应用程序进行身份验证,站点管理员必须输入远程站点的JWK。JWK的格式定义明确: 首先,我们可以使用像openssl这样的工具,创建一个密钥,并从中生成JWK吗?目前,我们正在使用jose4j编写代码来实现这一点,但还不清楚这是否必要。 其次,Canvas需要一些可选字段,如kid、alg和use。我们猜测use应该是“sig”,我们编造了kid:“1”,猜测alg:“RS2

  • 假设我有一个python结构,表示RSA密钥对,如下所示: 如何编写python代码来生成可用于验证使用此RSA私钥签名的JWT的JWK?使用的算法是RSA256。 这个网站mkjwk完成了我想做的事情。但我正试图用python代码来做到这一点。

  • 我需要为不同的用户旋转一堆EC2框。每个用户都应该从所有其他用户中沙盒化,所以每个EC2框都需要自己的SSH键。 在Terraform中实现这一点的最佳方法是什么? 我找到的几乎所有指令都希望我手动创建SSH密钥并将其粘贴到terraform脚本中。 (错误)示例: https://github.com/hashicorp/terraform/issues/1243, http://2ninjas