我想创建一个强大的密码在groovy与字母都小和资本和数字和特殊字符。
以下是必需的特殊字符:
~`!@#$%^&*()-_=+[{]}|;:“”,<.>/?
我正在使用下面的代码,但我也希望至少有一个特殊字符在我的密码。
def pass_length = 15;
def pool = ['a'..'z','A'..'Z',0..9,'_'].flatten();
Random rand = new Random(System.currentTimeMillis());
def passChars = (0..pass_length - 1).collect { pool[rand.nextInt(pool.size())] };
def PASSWORD = passChars.join();
目前它只创建一个字母数字密码。任何快速的变化,我可以对代码?帮助我,因为我是新的使用groovy。
3条答案
按热度按时间50few1ms1#
你可以选择一个随机的特殊字符,并把它放在生成的密码中的一个随机位置。这将确保密码中至少有一个特殊字符。
还有,为什么不把特殊字符也加到字典里呢?这样,特殊字符就有更多的可能出现在最终的字符串里。
pw136qt22#
以下代码使用指定的基本字母表和“特殊字符字母表”中指定数量的特殊字符生成指定长度的随机密码:
和样品运行:
2hh7jdfx3#
只是在这里分享这个记录。创建长度从6到100的密码(这些值可以在代码中更改)。