php生成一个安全随机的密码程序

 代码如下 复制代码

<?php

header("Content-type:text/html;charset=utf-8");

function getRandPass($length = 6){

 $password = '';

 //将你想要的字符添加到下面字符串中,默认是数字0-9和26个英文字母

 $chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

 $char_len = strlen($chars);

 for($i=0;$i<$length;$i++){

  $loop = mt_rand(0, ($char_len-1));

  //将这个字符串当作一个数组,随机取出一个字符,并循环拼接成你需要的位数

  $password .= $chars[$loop];

 }

 return $password;

}

echo getRandPass(12); //随机生成一个12位数的密码

 

?>

生成密码哪下

例2,与第一个有一点像

1、预置一个的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中随机取一个字符
3、重复第二步 n 次,可得长度为 n 的密码

 代码如下 复制代码

function generate_password( $length = 8 ) {
    // 密码字符集,可任意添加你需要的字符
    $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

    $password = '';
    for ( $i = 0; $i < $length; $i++ )
    {
        // 这里提供两种字符获取方式
        // 第一种是使用 substr 截取$chars中的任意一位字符;
        // 第二种是取字符数组 $chars 的任意元素
        // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
        $password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
    }

    return $password;
}

时间: 2024-10-26 11:55:45

php生成一个安全随机的密码程序的相关文章

通过枚举控制比较TreeSet内容排序(实现接口comparator);随机生成一个汉字

随机生成一个汉字 /** * 随机生成一个汉字 * @return * @throws UnsupportedEncodingException */ public static String createStr() throws UnsupportedEncodingException { String str = null; int hightPos, lowPos; // 定义高低位 Random random = new Random(); hightPos = (176 + Math.

Python随机生成一个6位的验证码代码分享

 这篇文章主要介绍了Python随机生成一个6位的验证码代码分享,本文直接给出代码实例,需要的朋友可以参考下     1. 生成源码   代码如下: # -*- coding: utf-8 -*-   import random def generate_verification_code(): ''' 随机生成6位的验证码 ''' code_list = [] for i in range(10): # 0-9数字 code_list.append(str(i)) for i in range

如何用vb编一个能随机出选择题并判分的程序?

问题描述 如何用vb编一个能随机出选择题并判分的程序? 我有套题存放在word中,我想用这套提中的一些随机出一张卷并能作答然后出分. 解决方案 word并不是存储题目的好方式.如果你非要这么做,你首先必须明确,你的题目以什么方式存放.比如说,每个题目由什么文字开头,或者题目和题目之间的分隔符是什么. 否则你的word文档把题目混合在一起,根本分不出题目和题目,题干.选择项.答案.后面的一系列问题也就没法解决了. 建议你把这套题目先放在数据库的表中,每行记录包括题号.题干.N个选项.答案等信息.

ios-怎么随机生成一个CGFloat类型的数组

问题描述 怎么随机生成一个CGFloat类型的数组 (void)awakeFromNib{ int count = 50; for (int i = 0; i < count; i++) { // CGFloat x[count]= {}; CGFloat y = arc4random_uniform(667); CGFloat x = arc4random_uniform(375); CGPoint num[i] = (x,y); } }

java-随机从2个字符串里选1个,随机生成一个1-99的int,怎么搞

问题描述 随机从2个字符串里选1个,随机生成一个1-99的int,怎么搞 我想写一个for循环插入10万条数据,其中性别想随机插入Male或者Female.age随机生成1-99的int数值.怎么搞? 解决方案 参考下面的代码吧. public static void main(String[] args) { String[] sex = { ""Male""Famale"" }; int age = 0; int sexIndex = 0;

jasperReport+iReport生成一个jasper文件后,用java程序调用该文件,报错误

问题描述 jasperReport+iReport生成一个jasper文件后,用java程序调用该文件,报错误 java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.callsite.CallSiteArray at java.lang.ClassLoader.findClass(ClassLoader.java:531) at java.lang.ClassLoader.loadClass(ClassLoader.java:

JAVA+Mysql程序,想在Mysql的一张表中让数据库自动生成一个字段的Icq号

问题描述 JAVA+Mysql程序,想在Mysql的一张表中让数据库自动生成一个字段的Icq号 我想做个聊天系统,想在Mysql的一张注册表中,加入注册信息后,让数据库自动生成一个Icq号.好像我们的QQ账号似的.简单的只要能实现就行.我新手. 解决方案 添加一个字段,设置为int或bigint类型,在设置主键自增长(AUTO_INCREMENT ). 解决方案二: 添加一个字段,设置为int 主键 自动增长就可以了. 解决方案三: 数据库增加一列,设置为标识列,有种子和增量. 解决方案四: 可

shell脚本实现随机生成10个8位密码_linux shell

随机生成10个8位密码shell脚本 1.首位大写字母 2.中间六位大小写字母数字随机混合 3.第八位[0-9] #!/bin.bash for i in {1..10} do A=`head -c 500 /dev/urandom | tr -dc a-zA-Z | tr [a-z] [A-Z]|head -c 1` B=`head -c 500 /dev/urandom | tr -dc a-z0-9A-Z | head -c 6` C=`echo $RANDOM|cut -c 2` ech

编程-如何在数据库中随机生成一个n维可逆矩阵

问题描述 如何在数据库中随机生成一个n维可逆矩阵 需要在数据库中编程,产生一个n维可逆矩阵C.此矩阵应当是随机产生的. 解决方案 http://jingyan.baidu.com/article/ce436649fad5573773afd39a.html