点击按钮获取一个 16 位的包含 [0-9][a-z][A-Z][!@#$%^&*] 的密码

:

在实际开发中经常会用到随机数,这里介绍各种语言的实现方法

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: wxnacy([email protected])

STR = [
'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', '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'
]
def get_random_str(str_len):
"""
获取随机字符串
:param str_len: 需要获取的长度
:return:
"""
def _create():
return str(STR[int(random.uniform(0, len(STR)))])
res = [_create() for x in range(0, str_len)]
return ''.join(res)

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Random;

private final static char[] digits = {
'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', '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'

};
public static String getRandom(int len){
char[] result = new char[len];
Random r = new Random();
for(int i = 0; i < len; i++){
result[i] = digits[Math.abs(r.nextInt(digits.length))];
}
return new String(result);
}

Javascript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var digits = [
'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', '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'

];
function getRandom(len){
var array = new Array(len);
for(var i = 0; i < len; i++){
array[i] = digits[parseInt(Math.random() * digits.length)];
}
return array.join('');
}
03-16 17:37