在工作中,需要随机产生数据库中的字符,以免主键冲突或者违反唯一性约束,特简单写了一个并在此记录一下,在这里产生的方式主要有两种,一种方法是通过随机产生一个个字符,另一种方法是通过UUID方式生成。
代码如下所示:
package com.bijian.test; import java.util.Random; import java.util.UUID; public class RandomUtils { public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String numberChar = "0123456789"; /** * 由大小写字母、数字组成的随机字符串 * @param length * @return */ public static String generateString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(allChar.charAt(random.nextInt(allChar.length()))); } return sb.toString(); } /** * 由大小写字母组成的随机字符串 * @param length * @return */ public static String generateMixString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(letterChar.charAt(random.nextInt(letterChar.length()))); } return sb.toString(); } /** * 由小字字母组成的随机字符串 * @param length * @return */ public static String generateLowerString(int length) { return generateMixString(length).toLowerCase(); } /** * 由大写字母组成的随机字符串 * @param length * @return */ public static String generateUpperString(int length) { return generateMixString(length).toUpperCase(); } /** * 产生指字个数的0组成的字符串 * @param length * @return */ public static String generateZeroString(int length) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { sb.append('0'); } return sb.toString(); } /** * 将数字转化成指字长度的字符串 * @param num * @param fixdlenth * @return */ public static String toFixdLengthString(long num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); } else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!"); } sb.append(strNum); return sb.toString(); } /** * 将数字转化成指字长度的字符串 * @param num * @param fixdlenth * @return */ public static String toFixdLengthString(int num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); } else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!"); } sb.append(strNum); return sb.toString(); } /** * 这个方法只支持最大长度为32的随机字符串,如要支持更大长度的,可以适当修改此方法,如前面补、后面补,或者多个uuid相连接 * @param length * @return */ private static String toFixedLengthStringByUUID(int length) { //也可以通过UUID来随机生成 UUID uuid = UUID.randomUUID(); return uuid.toString().replace("-", "").substring(0, length); } public static void main(String[] args) { System.out.println(generateString(32)); System.out.println(generateMixString(32)); System.out.println(generateLowerString(32)); System.out.println(generateUpperString(32)); System.out.println(generateZeroString(32)); System.out.println(toFixdLengthString(123, 32)); System.out.println(toFixdLengthString(123L, 32)); System.out.println(toFixedLengthStringByUUID(32)); } }
相关推荐
在这个场景中,"随机生成32位字符串"是一个常见的需求,例如在创建唯一标识符、生成安全密码或进行加密算法时。下面将详细介绍如何在VB中实现这一功能。 首先,我们要了解VB中的字符串是由一系列字符组成的,每个...
在IT领域,生成指定长度的随机字符串是一项常见的需求,它广泛应用于密码生成、测试数据填充、安全令牌等领域。本文将深入探讨如何生成这样的随机字符串,并介绍相关编程语言的实现方法。 首先,我们要理解随机字符...
总之,`aotu.js`的字符串指定字符随机生成汉字的功能,结合JavaScript的字符串和数学操作,为前端开发者提供了一种强大的工具,用于创建动态和多样化的汉字内容。在实际应用中,它可以帮助提高引流脚本的效果,增加...
本文将介绍如何使用PHP脚本语言随机生成一个10位字符的代码字符串。更重要的是,通过理解其原理,开发者可以轻松扩展到自定义任意长度的随机字符串生成。 首先,我们要明确一点:生成随机字符串的核心在于随机选取...
本文将详细讲解如何在MySQL中定义并使用一个函数来生成固定长度的随机字符串。 首先,我们创建一个名为`rand_string`的自定义函数。这个函数接受一个整数参数`n`,表示需要生成的字符串长度。函数内部定义了一个...
因此,我们可以创建一个函数,接受一个整数参数来决定字符串的长度,并使用`Random`类来生成随机的ASCII码值,然后将其转换为对应的字母。 以下是一个简单的示例代码,用于生成随机大小写字母字符串: ```csharp ...
在IT领域,随机生成数字字母字符串是一项常见的任务,特别是在安全验证、密码生成或者验证码系统中。这个任务的主要目的是创建一个独特且不可预测的序列,以防止自动化程序的攻击。在这个场景下,我们通常会结合数字...
下面是一个示例方法,生成指定长度的随机字符串: ```csharp public static string GenerateRandomString(int length) { string alphanumeric = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789...
在IT行业中,字符串随机生成是一项常见的任务,尤其在软件开发、加密、测试等领域。这个名为“字符串随机生成小软件”的程序就是专为此目的设计的工具。它能够帮助用户快速、高效地生成各种长度和格式的随机字符串,...
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...
### Java随机生成字符串知识点解析 #### 一、概述 在软件开发过程中,有时我们需要生成随机字符串来满足不同的需求,比如生成验证码、密码等。本文档介绍了一种利用Java实现随机字符串生成的方法。此方法提供了...
本篇将深入探讨如何在C#中生成指定长度、包含字母或数字或者两者的混合随机字符串。 首先,我们需要了解C#中用于生成随机数的`System.Random`类。这个类提供了生成伪随机数的方法,可以通过种子初始化以获得不同的...
最近做个功能,需要用到随机字符串,在网上整理了一些代码,生成随机字符串 可以设置生成的随机字符的取间..
2. **字符串长度**:设置生成的随机字符串的固定长度或允许的长度范围。 3. **随机性保证**:`Random`类虽然名为“随机”,但实际上是伪随机,其结果序列是可预测的。为确保随机性,可以使用类的实例化参数,或者...
4. 使用for循环生成一个长度为10以内的随机字符串。 5. 将生成的字符串添加到List集合中,并判断是否已经存在相同的字符串。 6. 对List集合进行排序,按照从左向右的原则和0-9数字优先原则。 7. 使用Collections....
Mac 终端命令将字符串转换为 MD5、Lua 元表实现类和多态、MySQL 删除表中多个字段分组后的重复数据、PHP 队列框架 WanQueue、...PKPM 软件数据写入到 EXCEL、JavaScript 随机生成指定长度字符串、Go 语言网络编程等。
PHP生成(产生)随机字符串,可用来自动生成密码,默认长度6位,字母和数字混合等模式,支持随机生成中文字(汉字)。
本工具用于生成随机字符串,可以自定义字符池及字符串长度。欢迎下载使用! 本工具用于生成随机字符串,可以自定义字符池及字符串长度。欢迎下载使用!