【问题标题】:Unique random token generation in grailsgrails中唯一的随机令牌生成
【发布时间】:2014-04-16 08:28:18
【问题描述】:

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

可以使用 a-z 和 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 )

但是我如何在“JayKay586464ASDHH445”之类的令牌前面附加用户名

【问题讨论】:

  • 能详细解释一下吗?从我这边用户名+令牌应该可以工作:)
  • 我的应用程序必须使用唯一的随机令牌。所以我需要附加用户名和生成的令牌。但在这种情况下,我怎样才能将用户名和生成器一起附加
  • 你可以使用运算符“+”来连接字符串
  • 羞辱你can't just useUUID.randomUUID()

标签: grails random grails-2.0 grails-plugin


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这个怎么样?用户名是不带token的原始用户名,token是15个字符的token,uTok是带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}<=="
    

    【讨论】:

      猜你喜欢
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 2019-01-12
      • 2011-08-19
      相关资源
      最近更新 更多