Erlang,Java,Groovy,javascript等语言生成随机密码,erlanggroovy,Erlang生成随机密码
Erlang,Java,Groovy,javascript等语言生成随机密码,erlanggroovy,Erlang生成随机密码
Erlang生成随机密码
random_string(Len) -> Chrs = list_to_tuple("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"), ChrsSize = size(Chrs), F = fun(_, R) -> [element(random:uniform(ChrsSize), Chrs) | R] end, lists:foldl(F, "", lists:seq(1, Len)).
Groovy生成随机密码
def pool = ['a'..'z','A'..'Z',0..9,'_'].flatten()Random rand = new Random(System.currentTimeMillis())def passChars = (0..10).collect { pool[rand.nextInt(pool.size())] }def password = passChars.join()
还有一种更简单的实现:
def password = org.apache.commons.lang.RandomStringUtils.randomAlphanumeric(length)
Java生成随机密码
SecureRandom random = new SecureRandom(); String str = new BigInteger(130, random).toString(32);
或者:
public class RandomString { public static String randomstring(int lo, int hi){ int n = rand(lo, hi); byte b[] = new byte[n]; for (int i = 0; i < n; i++) b[i] = (byte)rand('a', 'z'); return new String(b, 0); } private static int rand(int lo, int hi){ java.util.Random rn = new java.util.Random(); int n = hi - lo + 1; int i = rn.nextInt(n); if (i < 0) i = -i; return lo + i; } public static String randomstring(){ return randomstring(5, 25); } /** * @param args */ public static void main(String[] args) { System.out.println(randomstring()); }}
JavaScript生成随机密码
function makeid(){ var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i < 5; i++ ) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text;}
参考:StackOverflow
OCaml
# let gen_passwd length = let gen() = match Random.int(26+26+10) with n when n < 26 -> int_of_char 'a' + n | n when n < 26 + 26 -> int_of_char 'A' + n - 26 | n -> int_of_char '0' + n - 26 - 26 in let gen _ = String.make 1 (char_of_int(gen())) in String.concat "" (Array.to_list (Array.init length gen));;
用法:
# gen_passwd 16;;- : string = "6l2okhW7V1uq4wgu"
PHP生成随机密码
<?php /* Class MAKEpasswd: Make password from selected characters in a string. required arguments: length of a password and characters to use in a password. 1 = a - z 2 = A - Z 3 = a - z and A - Z 4 = a - z, A - Z and 0 - 9 5 = a - z, A - Z, 0 - 9 and chars !#$%&() usage: Make 10 passwords that is 8 characters long and includes characters a - z, A - Z, 0 - 9 and !#$%&() $numTimes = 0; $example = new MAKEpasswd(8,5); while($numTimes < 10) { print($example->makePassword() . "<br>\n"); $numTimes++; } */ class MAKEpasswd { var $intLength; var $pool; function MAKEpasswd($iLength, $iChars) { $this->intLength = $iLength; $this->pool = $this->getPool($iChars); } function getPool($iChars) { switch($iChars) { case 1: /* a - z */ for($i = 0x61; $i <= 0x7A; $i++) { $str .= chr($i); } return $str; break; case 2: /* A - Z */ for($i = 0x41; $i <= 0x5A; $i++) { $str .= chr($i); } return $str; break; case 3: /* a - z and A - Z */ $str = $this->getPool(1); $str .= $this->getPool(2); return $str; break; case 4: /* 0 - 9, A - Z and a - z */ $str = $this->getPool(3); // get chars a - z and A - Z first for($i = 0x30; $i <= 0x39; $i++) { $str .= chr($i); // add chars 0 - 9; } return $str; break; case 5: /* This will add these chars into the string !#$%&() */ $str = $this->getPool(4); for($i = 0x21; $i < 0x29; $i++) { if($i == 0x22 || $i == 0x27) // Exclude characters " and ' { continue; } $str .= chr($i); } return $str; break; } } function makePassword() { srand ((double) microtime() * 1000000); $str=""; while(strlen($str)< $this->intLength) { $str.=$this->pool[rand()%strlen($this->pool)]; } return $str ; } } ?>
参考: PHPBuilder
Python 生成随机密码
import string,randomdef makePassword(minlength=5,maxlength=25): length=random.randint(minlength,maxlength) letters=string.ascii_letters+string.digits # alphanumeric, upper and lowercase return ''.join([random.choice(letters) for _ in range(length)])
Ruby 生成随机密码
def generate_passwd(length=16) chars = 'abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ23456789' Array.new(length) { chars[rand(chars.length)].chr }.joinend
相关内容
- Python 模拟竖式大数乘法,python竖式大数乘法,python内置
- django接入新浪微博OAuth,djangooauth,最近将网站和新浪微
- webpy入门猜数字游戏,webpy入门猜数字,简单的猜数字游
- Python 字符编码实例,python编码实例,[Python]代码#c
- windows平台下如何用Python杀进程,平台python,[Python]代码
- Python脚本实现查找文件,,[Python]代码#c
- Python uuid模块,pythonuuid模块,python模块之uui
- 理解Python元类(Metaclasses),元类metaclasses,“元类的魔
- Python数组功能特点分析,python数组功能特点,实际上Py
- python 使用poplib pop3协议收取邮件,pythonpoplib,[Python]代码
评论关闭