首页 > 其他分享 >生成随机字符串(数字、字母、特殊符号组合)

生成随机字符串(数字、字母、特殊符号组合)

时间:2024-02-07 15:12:10浏览次数:35  
标签:字母 number rnd 随机 字符串 特殊符号 result

多用于随机复杂密码。

如果“数字、字母、特殊符号” 都放在一个数组中,随机生成的不一定会同时具备三者的组合,所以,只能分开,再自定义规则组合在一起(虽然不是很完美)

以下便是实例,调用的时候加上“密码长度(不少于6位)”的判断提示!

/// <summary>
/// 生成随机密码
/// </summary>
/// <param name="length">密码长度(不少于6位)</param>
/// <returns>返回数字、字母、特殊符号组合</returns>
public static string GenerateRandom(int length)
{
    // 数字
    char[] number = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    // 字母
    char[] letter = {                                
                        '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',
                        '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'                              
                       };
    // 特殊符号
    char[] symbol = { '!', '@', '#', '$', '%', '&', '*', '.', '_' };
    string result = "";
    Random rnd = new Random(Guid.NewGuid().GetHashCode());
    if (length >= 6)
    {
        for (int i = 0; i < length; i++)
        {
            if (i == 2)
            {
                result += symbol[rnd.Next(symbol.Length)];
            }
            else
            {
                if (i % 2 == 0)
                {
                    result += number[rnd.Next(number.Length)];
                }
                else
                {
                    result += letter[rnd.Next(letter.Length)];
                }
            }
        }
    }
    return result;
}

 效果:

 

标签:字母,number,rnd,随机,字符串,特殊符号,result
From: https://www.cnblogs.com/Craft001wen/p/18010941

相关文章

  • Java与sql中的字符串表示
    在Java中,双引号""用于表示字符串字面量,而单引号''用于表示字符字面量。这意味着在Java中,您可以使用双引号来包围包含任意数量字符的字符串,包括零个字符(空字符串)和多个字符。例如,在Java中:StringemptyString="";//空字符串StringsingleChar='a';/......
  • R语言用随机森林模型的酒店收入和产量预测误差分析
    全文链接:https://tecdat.cn/?p=35162在这篇文章中,我们将探讨基于随机森林模型的酒店收入和产量预测分析。我们将使用4月9日至4月15日的数据作为测试集,评估预测的准确度。我们将分别对单个酒店在三个预订渠道的总收入和总产量进行分析,并使用随机森林模型进行预测。通过对比每家酒......
  • 字符串hash
    记录23:402024-2-51.字符串hash将字符串转换为hash值。以p=131/13331,将字符串看成P进制数,取一固定值M,求出该P进制数对M的余数,作为该字符的hash值。可以取M=\(2^{64}\)用unsignedlonglong存储这个hash值,这样不用取模,因为如果溢出了就相当于对\(2^{64}\)取模了除了在......
  • ORACLE_查询blob字段中是否包含某个字符串/blob字段模糊匹配
    要查询一个BLOB字段中是否包含某个字符串,可以使用Oracle的DBMS_LOB.INSTR函数。示例如下,这里我们有2条记录,每条blob字段都有数据;其中第二条blob字段包含有字符串“T_NT_EndorsementBillEntry”,第一条记录没有正常我们如下查询会报错:对这个blob截取也会报这个错,这里我......
  • R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化
    全文链接:https://tecdat.cn/?p=33760原文出处:拓端数据部落公众号概述:众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受欢迎。机器......
  • (11/60)有效的括号、删除字符串中所有相邻重复项、逆波兰表达式求值
    有效的括号leetcode:20.有效的括号实现思路遍历到左括号,入栈对应的右括号(方便遍历到右括号时进行对比);遍历到右括号,对比栈顶元素。把无效三种情况照顾到:1.左括号多了(遍历结束后栈不为空);2.左右括号不匹配(右括号时栈顶元素与当前元素对比);3.右括号多了(右括号时栈是空的)。复......
  • 32-Java中字符串、json、map之间的互相转换
    Java中字符串、json、map之间的互相转换 1.map转String、jsonObject对象packagemap;importjava.util.HashMap;importjava.util.Objects;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;publicclassMapDemo3{publicstatic......
  • Python正则表达式实战:提取字符串中的数字
    在文本处理中,有时我们需要从字符串中提取数字,并去除其他非数字字符。Python中的re模块提供了强大的正则表达式功能,可以帮助我们实现这一目标。本文将介绍如何使用Python的re模块来提取字符串中的数字,以及如何应用正则表达式进行文本处理。第一步:导入所需库和模块在开始之前,我们首先......
  • c++生成随机数
    产生随机数的叫随机数生发器生成随机数constunsignedzseed=time(0);voidsolve(){ //随机数生发器 mt19937_64m{zseed}; //种子 rep(i,1,5) cout<<m()<<endl; return;}重排序列constunsignedzseed=time(0);mt19937_64zgen{zseed};voidsolve(){ ve......
  • Erlang 学习之第三天 . 函数,模块,递归,数字,字符串
    Erlang函数Erlang是一种众所周知的函数式编程语言,因此您将看到许多关于函数如何在Erlang中工作的重点。本章介绍如何使用Erlang中的函数完成所有操作。直接上实例:定义函数add(X,Y) ->    Z = X+Y,    io:fwrite("~w~n",[Z]). start() ->    add(5,6).......