PHP中快速生成随机密码的几种方式
发布时间 - 2026-01-11 00:41:06 点击率:次思路是这样的,密码通常是英文字母和数字的混合编排,我们可以借助随机函数rand函数随机的选择一个长字符串的一部分。
function random_code($length = 8,$chars = null){
if(empty($chars)){
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
}
$count = strlen($chars) - 1;
$code = '';
while( strlen($code) < $length){
$code .= substr($chars,rand(0,$count),1);
}
return $code;
}
echo random_code;//A1zYbN5X
我们使用rand函数的目的是为了产生随机的字符串,但是如果有一个函数可以做到的话,我们就没有必要使用rand函数了。
function random_char($length = 8,$chars = null){
if( empty($chars) ){
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
}
$chars = str_shuffle($chars);
$num = $length < strlen($chars) - 1 ? $length:str_len($chars) - 1;
return substr($chars,0,$num);
}
可以看到不使用rand函数,而是使用str_shuffle函数,好处是大大减少了代码量。
更近一部的,我们的函数不仅可以生成随机的密码,还可以生成短信验证码,以及高强度的服务器登录密码。
function random_code_type($length = 8,$type = 'alpha-number'){
$code_arr = array(
'alpha' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
'number'=> '0123456789',
'sign' => '#$%@*-_',
);
$type_arr = explode('-',$type);
foreach($type_arr as $t){
if( ! array_key_exists($t,$code_arr)){
trigger_error("Can not generate type ($t) code");
}
}
$chars = '';
foreach($type_arr as $t){
$chars .= $code_arr[$t];
}
$chars = str_shuffle($chars);
$number = $length > strlen($chars) - 1 ? strlen($chars) - 1:$length;
return substr($chars,0,$number);
}
echo random_code_type(8,"alpha-number-sign");#kXM*mC$S
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# php
# 生成随机密码
# 随机密码生成
# php/JS实现的生成随机密码(验证码)功能示例
# 纯php生成随机密码
# PHP生成随机密码方法汇总
# php生成随机密码自定义函数代码(简单快速)
# php中生成随机密码的自定义函数代码
# PHP生成随机用户名和密码的实现代码
# php生成随机密码的几种方法
# php生成随机密码的三种方法小结
# PHP生成随机密码4种方法及性能对比
# 还可以
# 是这样
# 我们可以
# 就没
# 可以看到
# 有必要
# 验证码
# 高强度
# 可以做到
# 大家多多
# 英文字母
# 有一个
# 更近
# 是为了
# 减少了
# count
# strlen
# code
# empty
# return
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
大连 网站制作,大连天途有线官网?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
Laravel如何使用Blade模板引擎?(完整语法和示例)
如何在云指建站中生成FTP站点?
浅谈javascript alert和confirm的美化
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel如何处理文件下载请求?(Response示例)
IOS倒计时设置UIButton标题title的抖动问题
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
手机软键盘弹出时影响布局的解决方法
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
奇安信“盘古石”团队突破 iOS 26.1 提权
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
javascript如何操作浏览器历史记录_怎样实现无刷新导航
电商网站制作价格怎么算,网上拍卖流程以及规则?
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何在阿里云通过域名搭建网站?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
米侠浏览器网页背景异常怎么办 米侠显示修复
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
南京网站制作费用,南京远驱官方网站?
大型企业网站制作流程,做网站需要注册公司吗?
利用JavaScript实现拖拽改变元素大小
php打包exe后无法访问网络共享_共享权限设置方法【教程】
高端网站建设与定制开发一站式解决方案 中企动力
Laravel storage目录权限问题_Laravel文件写入权限设置
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
JS碰撞运动实现方法详解
Laravel怎么调用外部API_Laravel Http Client客户端使用
公司门户网站制作流程,华为官网怎么做?
Laravel如何使用Vite进行前端资源打包?(配置示例)
js实现获取鼠标当前的位置
如何在阿里云ECS服务器部署织梦CMS网站?
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
如何快速选择适合个人网站的云服务器配置?
EditPlus中的正则表达式实战(6)
JavaScript Ajax实现异步通信
详解MySQL数据库的安装与密码配置
用v-html解决Vue.js渲染中html标签不被解析的问题
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体

