随机生成密码,长度6-10位、不可包含特殊字符、必须包含大写、小写和数字,oracle 如何实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机生成密码,长度6-10位、不可包含特殊字符、必须包含大写、小写和数字,oracle 如何实现?相关的知识,希望对你有一定的参考价值。

个人感觉可以利用md5的加密方式获得字符串(orale中有能生成md5字符串的函数),然后在利用这个字符串截取,这种字符串一般包括你想要的大写小写和数字,只是这个函数只能用在存储过程中。md5我记得好像是就算输入的内容一样,字符串也不同,那么就可以认为是随机的。
如果没有大写,那么改一个字母就好了。
参考技术A 写下思路,可用字符全放一个字符数组里,随机生成即可。追问

随机从字符中取数,也可能全部随机到字母,要求是必须包含,而不是范围内。

追答

那也好办,弄三个数组,大写、小写、数字,然后再去随机,先随机每个数组各取一个,这就有3位了,后几个再纯随机取,取的个数为3-7中的随机数,取出后组合在一起,组合好后前三位格式比较固定,可以再随机乱序一次,这种乱序算法我不知道有无现成的,但利用随机数写一个绝对不难,希望可以帮到你。

本回答被提问者采纳

mkpasswd-随机生成密码

在工作中,经常有创建用户的需求,此时可以使用mkpasswd为用户生成随机密码:
安装包:yum install expect -y
相关参数:
-l:指定密码长度
-d:指定包含数字的个数
-s:指定包含特殊符号的个数
-C:指定大写字母的个数

示例:随机生成一个10位的密码,不需要特殊符号:

[[email protected] ~]# mkpasswd -l 10 -s 0
r95MowzbIk

以上是关于随机生成密码,长度6-10位、不可包含特殊字符、必须包含大写、小写和数字,oracle 如何实现?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL生成随机字符串的三种方法

mkpasswd-随机生成密码

随机生成指定长度的密码之---Random

密码验证 8 位数字,包含大写、小写和特殊字符

day4 自动生成密码文件 & 注册

python3-随机生成10位包含数字和字母的密码