专栏首页学习分享-实践为王java随机生成8位密码-包括数字、大小写字母、特殊符号
原创

java随机生成8位密码-包括数字、大小写字母、特殊符号

//返回随机产生的8位数
public  String getRandomPassword(int len) {
    String result= this.makeRandomPassword(len);
    if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\\d{1,}.*") && result.matches(".*[~!@#$%^&*\\.?]{1,}.*")) {
    return result;
    }
    result = makeRandomPassword(len);
 }

  //产生8位随机数
  public  String makeRandomPassword(int len){
   char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray();
   StringBuilder sb = new StringBuilder();
   Random r = new Random();
   for (int x = 0; x < len; ++x) {
   sb.append(charr[r.nextInt(charr.length)]);
   }
   return sb.toString();
      
   }

public class TestRandomNumber {
    public TestRandomNumber() {
    }

    public static void main(String[] args) {
        String randomNum = getRandomPassword(8);
        System.out.println(randomNum);
    }

    /**
     * 返回随机产生的8位数
     */
    public static String getRandomPassword(int len) {
        String result = makeRandomPassword(len);
        if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\\d{1,}.*") &&
                result.matches(".*[~!@#$%^&*\\.?]{1,}.*")) {
            return result;
        }
        result = makeRandomPassword(len);
        return result;
    }

    /**
     * 产生8位随机数
     *
     * @param len 长度
     * @return
     */
    public static String makeRandomPassword(int len) {
        char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.".toCharArray();
        StringBuilder sb = new StringBuilder();
        Random r = new Random();
        for (int x = 0; x < len; ++x) {
            sb.append(charr[r.nextInt(charr.length)]);
        }
        return sb.toString();
    }

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

关注作者,阅读全部精彩内容

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java随机生成8位密码-包括数字、大小写字母、特殊符号

    聚名12255
  • 生成固定位数含大小写字母符号的密码

    >>> import string >>> dir(string) ['Formatter', 'Template', '_ChainMap', '_Templ...

    py3study
  • 技术|在 Linux 终端下生成随机/强密码的五种方法

    最近我们在网站上发表过一篇关于检查密码复杂性/强度和评分的文章。它可以帮助你检查你的密码的强度和评分。

    用户8710643
  • 常用的re模块的正则匹配的表达式

    小小咸鱼YwY
  • 常用正则表达式公式总结

    lyb-geek
  • 收藏一波:常用正则表达式公式总结

    Java团长
  • 【建议收藏】常用正则表达式公式总结

    ^[1-9]\d\*$ 或 ^([1-9][0-9]\*){1,3}$ 或 ^\+?[1-9][0-9]\*$

    杰哥的IT之旅
  • 关于常用的正则表达式的分享

      1.正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表...

    用户7053485
  • Java-正则表达式

    DataScience
  • 66条正则表达式Tips ,请收好

    > 公众号:[Java小咖秀](https://t.1yb.co/jwkk),网站:[javaxks.com](https://www.javaxks.com)

    Java小咖秀
  • 使用Python验证常见的50个正则表达式

    正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。

    龙哥
  • 【Python】使用Python验证常见的50个正则表达式

    正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。

    黄博的机器学习圈子
  • 使用Python验证常见的50个正则表达式

    正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。

    bugsuse
  • 总结 Python 常见的验证正则表达式

    正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。

    AirPython
  • 使用Python验证常见的50个正则表达式

    正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。

    小小詹同学
  • JavaScript之常用的正则表达式

    校验数字 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|...

    laixiangran
  • 字典生成神器Crunch

    Crunch是一种自定义创建密码字典工具,按照指定的规则生成密码字典,可以针对性的生成字典文件,这在渗透测试过程中就特别有用,用来社工和进行暴力破解攻击其效果尤...

    轩辕小子
  • 测试用例的定义和等价类划分还记得吗

    测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它...

    用户7466307
  • 详解:Python代码实现强密码判断与生成

    如今,用户在网络上越来越重视个人隐私和信息安全,抛开服务提供商的问题,我们用户端,设置一个好的用户名和密码很重要。

    Mintimate

扫码关注云+社区

领取腾讯云代金券