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 】
相关推荐:
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel如何使用Service Container和依赖注入?(代码示例)
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
简单实现Android验证码
Bootstrap CSS布局之列表
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel集合Collection怎么用_Laravel集合常用函数详解
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
昵图网官网入口 昵图网素材平台官方入口
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
大型企业网站制作流程,做网站需要注册公司吗?
微信公众帐号开发教程之图文消息全攻略
如何快速生成ASP一键建站模板并优化安全性?
Android仿QQ列表左滑删除操作
java获取注册ip实例
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
教你用AI润色文章,让你的文字表达更专业
三星、SK海力士获美批准:可向中国出口芯片制造设备
JavaScript如何实现音频处理_Web Audio API如何工作?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何实现API速率限制?(Rate Limiting教程)
如何在香港服务器上快速搭建免备案网站?
HTML 中动态设置元素 name 属性的正确语法详解
javascript中闭包概念与用法深入理解
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
如何用AI帮你把自己的生活经历写成一个有趣的故事?
如何用腾讯建站主机快速创建免费网站?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
如何用狗爹虚拟主机快速搭建网站?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
简单实现Android文件上传
焦点电影公司作品,电影焦点结局是什么?
如何打造高效商业网站?建站目的决定转化率
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
如何自定义建站之星网站的导航菜单样式?
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
Firefox Developer Edition开发者版本入口
大同网页,大同瑞慈医院官网?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
手机网站制作与建设方案,手机网站如何建设?
JavaScript实现Fly Bird小游戏
Python高阶函数应用_函数作为参数说明【指导】
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议

