Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unique random token generation in grails

I am new with grails and on my web application i want to generate a random token with 15 characters length along with username. And tokens must be unique.

All characters from a-z and 0-9 can be use, but no special characters. I have tried to generate random token with

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

but how can i append username infront of token like "JayKay586464ASDHH445"

like image 773
JayKay Avatar asked Mar 12 '14 09:03

JayKay


2 Answers

String confirmCode= UUID.randomUUID().toString() use this codeto generate token, then use "+" to concatenate string

like image 96
An Ish A Avatar answered Sep 20 '22 16:09

An Ish A


How about this? The username holds the original username without the token, token is the 15 character token and uTok is the username with the token

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}<=="
like image 31
Nick De Greek Avatar answered Sep 18 '22 16:09

Nick De Greek