精华内容
下载资源
问答
  • packageorg.nhooo.example.security;importjava.security.SecureRandom;importjava.util.Random;publicclassRandomString{publicstaticfinalStringSOURCES="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq...

    package org.nhooo.example.security;

    import java.security.SecureRandom;

    import java.util.Random;

    public class RandomString {

    public static final String SOURCES =

    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";

    public static void main(String[] args) {

    RandomString rs = new RandomString();

    System.out.println(rs.generateString(new Random(), SOURCES, 10));

    System.out.println(rs.generateString(new Random(), SOURCES, 10));

    System.out.println(rs.generateString(new SecureRandom(), SOURCES, 15));

    System.out.println(rs.generateString(new SecureRandom(), SOURCES, 15));

    }

    /**

    * Generate a random string.

    *

    * @param random the random number generator.

    * @param characters the characters for generating string.

    * @param length the length of the generated string.

    * @return

    */

    public String generateString(Random random, String characters, int length) {

    char[] text = new char[length];

    for (int i = 0; i 

    text[i] = characters.charAt(random.nextInt(characters.length()));

    }

    return new String(text);

    }

    }

    代码段产生的示例字符串为:uxEUFqTqS0

    vr89vdF4gh

    ysYF9XEHhO5FtDf

    aBANhrLObZ1XLJi

    展开全文
  • 用纯Java生成随机无界字符串 @Test public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() { byte[] array = new byte[7]; // length is bounded by 7 new Random().nextBytes...

    用纯Java生成随机无界字符串

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
        byte[] array = new byte[7]; // length is bounded by 7
        new Random().nextBytes(array);
        String generatedString = new String(array, Charset.forName("UTF-8"));
    
        System.out.println(generatedString);
    }

    用纯Java生成随机有界字符串

    接下来–让我们看一下如何创建一个更受限的随机字符串;我们将使用小写字母字母和设置的长度生成一个随机字符串:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringBounded_thenCorrect() {
    
        int leftLimit = 97; // letter 'a'
        int rightLimit = 122; // letter 'z'
        int targetStringLength = 10;
        Random random = new Random();
        StringBuilder buffer = new StringBuilder(targetStringLength);
        for (int i = 0; i < targetStringLength; i++) {
            int randomLimitedInt = leftLimit + (int) 
              (random.nextFloat() * (rightLimit - leftLimit + 1));
            buffer.append((char) randomLimitedInt);
        }
        String generatedString = buffer.toString();
    
        System.out.println(generatedString);
    }

    使用Java 8生成随机字母字符串

    现在,让我们使用在JDK 8中添加的Random.ints生成字母字符串:

    @Test
    public void givenUsingJava8_whenGeneratingRandomAlphabeticString_thenCorrect() {
        int leftLimit = 97; // letter 'a'
        int rightLimit = 122; // letter 'z'
        int targetStringLength = 10;
        Random random = new Random();
    
        String generatedString = random.ints(leftLimit, rightLimit + 1)
          .limit(targetStringLength)
          .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
          .toString();
    
        System.out.println(generatedString);
    }

    使用Java 8生成随机字母数字字符串

    然后我们可以扩展字符集以获得字母数字字符串:

    @Test
    public void givenUsingJava8_whenGeneratingRandomAlphanumericString_thenCorrect() {
        int leftLimit = 48; // numeral '0'
        int rightLimit = 122; // letter 'z'
        int targetStringLength = 10;
        Random random = new Random();
    
        String generatedString = random.ints(leftLimit, rightLimit + 1)
          .filter(i -> (i <= 57 || i >= 65) && (i <= 90 || i >= 97))
          .limit(targetStringLength)
          .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
          .toString();
    
        System.out.println(generatedString);
    }

    请注意,上面使用了filter方法,以排除65至90之间的Unicode字符-避免超出范围的字符。

    使用Apache Commons Lang生成有界的随机字符串

    Apache的Commons Lang库在随机字符串生成方面有很大帮助。让我们看一下仅使用字母生成有界字符串:

    @Test
    public void givenUsingApache_whenGeneratingRandomStringBounded_thenCorrect() {
    
        int length = 10;
        boolean useLetters = true;
        boolean useNumbers = false;
        String generatedString = RandomStringUtils.random(length, useLetters, useNumbers);
    
        System.out.println(generatedString);
    }

    使用Apache Commons Lang生成字母字符串

    另一个非常简单的示例–这次是一个只包含字母字符但没有将布尔标志传递给API的有界字符串:

    @Test
    public void givenUsingApache_whenGeneratingRandomAlphabeticString_thenCorrect() {
        String generatedString = RandomStringUtils.randomAlphabetic(10);
    
        System.out.println(generatedString);
    }

    使用Apache Commons Lang生成字母数字字符串

    最后-相同的随机有界String,但是这次-数字:

    @Test
    public void givenUsingApache_whenGeneratingRandomAlphanumericString_thenCorrect() {
        String generatedString = RandomStringUtils.randomAlphanumeric(10);
    
        System.out.println(generatedString);
    }

    有了它,就可以使用纯Java,Java 8变体或Apache Commons Library创建有界和无界的字符串。

    最后

    通过不同的实现方法,我们能够使用纯Java,Java 8变体或Apache Commons Library生成绑定和未绑定的字符串。
    在这些Java示例中,我们使用了java.util.Random,但值得一提的是,它不是加密安全的。考虑对安全敏感的应用程序改用java.security.SecureRandom。

    相关推荐

    mysql多字段内容并到单字段中的操作

    inux 磁盘监控分析

    Windows下 JDK1.8环境配置

    HDFS租约机制

    HBase是什么?

    猜你喜欢

    Java基础篇(02):特殊的String类,和相关扩展API

    mysql(五)

    JavaScript——WEBAPIS_BOM对象以及js执行机制

    ASP.NET MVC5实现芒果分销后台管理系统(一):系统结构设计,集成AutoMapper,Log4net

    完美解决MSSQL安装问题“Polybase要求安装Oracle JRE 7更新51(64位)”方案

    展开全文
  • java生成随机字符串

    2021-02-28 18:31:01
    # java生成随机字符串## 添加maven依赖``` xmlorg.apache.commonscommons-text1.8```## 代码示例``` javaimport org.apache.commons.text.RandomStringGenerator;import static org.apache.commons.text....

    # java生成随机字符串

    ## 添加maven依赖

    ``` xml

    org.apache.commons

    commons-text

    1.8

    ```

    ## 代码示例

    ``` java

    import org.apache.commons.text.RandomStringGenerator;

    import static org.apache.commons.text.CharacterPredicates.DIGITS;

    import static org.apache.commons.text.CharacterPredicates.LETTERS;

    /**

    * @author chenpeng

    */

    public class Dev {

    public static void main(String[] args) {

    //使用 0-9 随机生成字符串

    RandomStringGenerator g1 = new RandomStringGenerator.Builder()

    .withinRange('0', '9')

    .build();

    System.out.println(g1.generate(20));

    System.out.println(g1.generate(20));

    System.out.println(g1.generate(20));

    //使用a-z随机生成字符串

    RandomStringGenerator g2 = new RandomStringGenerator.Builder()

    .withinRange('a', 'z')

    .build();

    System.out.println(g2.generate(20));

    System.out.println(g2.generate(20));

    System.out.println(g2.generate(20));

    //使用0-9,A-Z,a-z生成字符串

    RandomStringGenerator g3 = new RandomStringGenerator.Builder()

    .withinRange('0', 'z')

    .filteredBy(LETTERS, DIGITS)

    .build();

    System.out.println(g3.generate(20));

    System.out.println(g3.generate(20));

    System.out.println(g3.generate(20));

    //自定义生成范围

    RandomStringGenerator g4 = new RandomStringGenerator.Builder()

    .selectFrom("ab".toCharArray())

    .build();

    System.out.println(g4.generate(20));

    System.out.println(g4.generate(20));

    System.out.println(g4.generate(20));

    }

    }

    ```

    ## 生成结果展示

    ``` java

    06129190591367987995

    33233611145210698009

    96559948673068625122

    dlbxnneasyiqangpgpyv

    npkuplvsinsydyqlhahj

    asdhtylfxaxfmjwwibff

    XhUVqLM4rSE9WqHOtWv0

    bTtSkrd49Y1f0uGg9lNM

    lKbsGqbEBOThexIZPvRp

    aababbbbbbaaabbbbbbb

    bbbaabaabbaaabbababb

    abbbabaaaaabaaaabbba

    ```

    展开全文
  • Java生成随机字符串

    2021-03-17 14:03:00
    让我们首先声明一个字符串数组并初始化-String[]strArr={"P","Q","R","S","T","U","V","W"};现在,创建一个Random对象-...生成随机字符串-intres=rand.nextInt(strArr.length);示例importjava.util.Random;public...

    让我们首先声明一个字符串数组并初始化-String[] strArr = { "P", "Q", "R", "S","T", "U", "V", "W" };

    现在,创建一个Random对象-Random rand = new Random();

    生成随机字符串-int res = rand.nextInt(strArr.length);

    示例import java.util.Random;

    public class Demo {

    public static void main(String[] args) {

    String[] strArr = { "P", "Q", "R", "S","T", "U", "V", "W" };

    Random rand = new Random();

    int res = rand.nextInt(strArr.length);

    System.out.println("Displaying a random string = " + strArr[res]);

    }

    }

    输出结果Displaying a random string = R

    让我们再次运行它以获得不同的随机字符串-Displaying a random string = Q

    展开全文
  • java生成随机字符串的两种方法

    千次阅读 2021-02-12 12:44:09
    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下import java.util.Random;public class CharacterUtils {//方法1:length为产生的位数public static String getRandomString(int ...
  • studentId = "1234567" 解决方案 Generating a random string of characters is easy - just use java.util.Random and a string containing all the characters you want to be available, e.g. public static ...
  • import java.util.ArrayList;import java.util.Arrays;import java.util.Random;/*** 字符随机生成类* @author ASUS**/public class PassWord {/*** 密码类型枚举* @author ASUS*/public static enum T...
  • 这篇文章主要介绍了Java 生成随机字符串数组的实例详解的相关资料,主要是利用Collections.sort()方法对泛型为String的List 进行排序,需要的朋友可以参考下Java 生成随机字符串数组的实例详解利用Collections.sort()...
  • 1、生成字符串每个位置都有可能是str的一个字母或数字,需要导入的包是import java.util.Random;//length用户要求产生字符串的长度public static String getRandomString(int length){String str=...
  • java 随机字符串生成

    2021-02-25 18:23:55
    36位,a-z字符,要求至少跑一天不会有不重复。privatestaticchar[]str={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'...36位,a-z字符,要求至少跑一...
  • 原理就是使用random对象生成随机值,然后根据生成的随机值生成大小写字母或者是数字再拼接成字符串即可,其实准确来说应该是生成任意位数的随机字符串,因为randomSequence的入参size决定了字符串的长度 import ...
  • packagep2p_web;importjava.util.ArrayList;importjava.util.Arrays;.../*** 字符随机生成类*@authorASUS**/public classPassWord {/*** 密码类型枚举*@authorASUS*/public static enumTYPE {/*** 字符型*/LETTE...
  • Java提供了许多不同的方法来编写随机字符串生成器应用程序,下面介绍几种方式。UUIDUUID是由一组32位数的16进制数字所构成,故UUID理论上的总数为1632=2128,约等于3.4 x 1038。也就是说若每纳秒产生1兆个UUID,要花...
  • 最近有个需求需要生成一个20位的随机字符串,先在commons-lang3的包下3.6版本的RandomStringUtils的类已经被标注为Deprecated不能使用了//commons-lang3下3.6版本的/** @deprecated */@Deprecatedpublic class ...
  • 本文实例为大家分享了java随机生成时间字符串的具体代码,供大家参考,具体内容如下package com.wechat.utils;import java.text.SimpleDateFormat;import java.util.Date;/*** Created by hexun on 2017/2/4.*/...
  • import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;public class CharacterUtils {/*** 第一种方法;length为产生的位数*/public static String getRandomString(int len...
  • 生成任意长度的随机字符串.我知道这个问题已被多次询问,我在下面编写了这段代码,我只是想知道有没有更好的方法,然后我写下面的代码?或者我们可以使下面的代码更有效率?public static void main(String[] args) {...
  • Java生成随机长度的随机字符串1. 效果展示2. 代码及注释3. 字符生成4. 多多点赞交流! 1. 效果展示 生成10个长度为5-10的字符串: 可以看到,这里的字符串长度均在要求的范围内,字符串内容包含了常用的字符。 2. ...
  • java随机字符串生成

    2021-03-08 07:49:44
    //生成符合规则的随机字符串 char[] codes = generateCode(); for......生成100个随机数并求最大数和最小数JAVA语言实现_计算机软件及应用_IT/计...JAVA 彩票生成系统源代码文本 package lei...
  • 下面的代码向您展示如何使用Apache Commons-Lang RandomStringUtils类生成一些随机字符串数据。packageorg.nhooo.example.commons.lang;importorg.apache.commons.lang3.RandomStringUtils;...
  • java 生成随机字符串

    2021-01-04 17:44:21
    方法1: 生成字符串每个位置都有可能是str的一个字母或数字,需要导入的包是import java.util.Random //length用户要求产生字符串的长度 public static String getRandomString(int length){ String str=...
  • Java 生成随机字符串数组的实例详解发布时间:2020-08-20 23:12:20来源:脚本之家阅读:118作者:Yanci516Java 生成随机字符串数组的实例详解利用Collections.sort()方法对泛型为String的List 进行排序。具体要求:1...
  • 本文实例讲述了Java实现产生随机字符串主键的UUID工具类。分享给大家供大家参考,具体如下:package com.gcloud.common;import java.net.InetAddress;import java.util.UUID;/*** uuid工具类* Created by charlin on...
  • 目录一套优秀的随机字符串生成机制不仅需要确保全局唯一性,还需要考虑到性能等问题。本篇文章带大家探究一下如何用字母和数字生成随机字符串。前言用字母和数字生成的6位不重复的字符串需要满足如下条件:唯一性:...
  • Java生成16位不重复的随机字符串

    千次阅读 2021-03-09 21:08:38
    说明:项目需要使用,记录一下!/*** 生成16位不重复的随机数,含数字+大小写* @return*/private static String getGUID() {StringBuilder sb = new StringBuilder();//产生16位的强随机数Random rd = new ...
  • 生成序列号尤其要注意的是高并发时候序列号重复和抢占带来的唯一ID问题:private static int maxvaluefive=99999999;private static int minvaluefive=0;private static AtomicInteger atomic = new AtomicInteger...
  • java随机字符生成工具

    2021-03-09 19:05:00
    以下是我自己在工作中常用到的,比较好用,分享给大家。package org.phoenix.api.utils;import java.io.UnsupportedEncodingException;import java.util.Random;.../*** 随机字符工具类* @author mengfeiy...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 123,514
精华内容 49,405
关键字:

java中生成随机字符串

java 订阅