如何在java中生成8-10长度内的唯一字母数字

时间:2015-05-18 10:35:39

标签: java

您好,我可以知道如何编写代码来生成字母数字代码,该代码看起来像HW6KNMQACMKQ83JX?我不希望使用UUID方法。有没有简单的方法来为此生成?我们将不胜感激。

到目前为止我做了什么;

import org.apache.commons.lang.RandomStringUtils;

public String testing() throws Exception
{
    int ID_LENGTH = 10;
    String a = RandomStringUtils.randomAlphanumeric(ID_LENGTH);

  return a;
}

但我收到了错误

java.lang.NoClassDefFoundError: org/apache/commons/lang/RandomStringUtils

2 个答案:

答案 0 :(得分:1)

您可以使用Apache项目中的RandomStringUtils。话虽这么说,你似乎不需要一个固定的长度值,我认为这可能会给你造成麻烦,因为它可能会让你更难识别你所追求的价值。

如果这不是问题,您可以使用Random函数随机决定要生成的字符串的长度。

答案 1 :(得分:0)

您可以使用BigInteger.toString(int radix)

32

请注意,由于这是基于WXYZ,您不会看到 ---------- Block 12440 at 0x00000000CD235350: 536 bytes ---------- Leak Hash: 0x3AD573C8, Count: 1, Total 536 bytes Call Stack (TID 13324): 0x00000000F8841E70 (File and line number not available): MSVCR120D.dll!malloc d:\projects\xy_dev\engine\ext\openssl\openssl-1.0.1j\crypto\mem.c (79): ***.exe!default_malloc_ex + 0x27 bytes d:\projects\xy_dev\engine\ext\openssl\openssl-1.0.1j\crypto\mem.c (308): ***.exe!CRYPTO_malloc + 0x18 bytes d:\projects\xy_dev\engine\ext\openssl\openssl-1.0.1j\crypto\err\err.c (1019): ***.exe!ERR_get_state + 0x17 bytes d:\projects\xy_dev\engine\ext\openssl\openssl-1.0.1j\crypto\err\err.c (730): ***.exe!ERR_put_error + 0x5 bytes d:\projects\xy_dev\engine\ext\openssl\openssl-1.0.1j\crypto\rsa\rsa_sign.c (312): ***.exe!int_rsa_verify d:\projects\xy_dev\engine\ext\openssl\openssl-1.0.1j\crypto\rsa\rsa_sign.c (337): ***.exe!RSA_verify ,但您应该看到所有其他字符和数字的概率相等。