grails中唯一的随机令牌生成

Jay*_*Kay 7 random grails grails-plugin grails-2.0

我是grails的新手,在我的网络应用程序上,我想生成一个长度为15个字符的随机令牌以及用户名.并且令牌必须是唯一的.

可以使用az和0-9中的所有字符,但不能使用特殊字符.我试图生成随机令牌

def generator = {String alphabet, int n -> new Random().with { (1..n).collec alphabet[ nextInt( alphabet.length() ) ] }.join() }} generator( (('A'..'Z')+('0'..'9')).join(), 9 )
Run Code Online (Sandbox Code Playgroud)

但我如何追加像"JayKay586464ASDHH445"这样的令牌前面的用户名

小智 9

String confirmCode= UUID.randomUUID().toString() 使用此代码生成令牌,然后使用"+"连接字符串


Nic*_*eek 5

这个怎么样?用户名保存没有令牌的原始用户名,令牌是15个字符的标记,uTok是带有令牌的用户名

def generator = { String alphabet, int n ->
  new Random().with {
    (1..n).collect { alphabet[ nextInt( alphabet.length() ) ] }.join()
  }
}

def token = generator( (('A'..'Z')+('0'..'9')).join(), 15 )

def username = "JayKay"

def uTok = "${username}${token}"

println "==>${uTok}<=="
Run Code Online (Sandbox Code Playgroud)