我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在 PHP 中生成密码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在 PHP 中生成密码

我们将介绍一种使用 rand() 函数在 PHP 中生成随机密码的方法。此方法使用大小写字母和数字的组合来形成密码。rand() 函数返回随机整数,即数组索引,以选择密码组合。

我们还将介绍另一种使用 openssl_random_pseudo_bytes()bin2hex() 函数在 PHP 中生成随机密码的方法。

本文将演示另一种使用 substr()str_shuffle() 函数在 PHP 中生成随机密码的方法。此方法还使用程序中提供的字母数字值来形成随机密码。


在 PHP 中使用 rand() 函数选择随机数组索引以生成随机密码

我们可以使用 rand() 函数在 PHP 中生成一个随机密码。rand() 函数从提供的参数范围中返回一个随机整数。该函数采用两个整数值作为参数。我们可以定义一个由字母和数字组成的字符串,我们可以在其中组合密码。随机数索引数组以选择随机字母或数字。我们可以循环 rand() 函数来创建所需长度的密码。

例如,创建一个变量 $comb 并将包含所有小写和大写字母以及从 0 到 10 的数字的字符串存储为 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890。使用 array() 函数创建一个数组 $pass。将字符串 $comb 的长度存储在 $combLen 变量中。创建一个 for 循环并迭代循环八次。在循环内部,使用 rand() 函数和 0$combLen 变量作为参数,并将值存储在 $n 变量中。然后,将 $comb[$n] 分配给 $pass 数组。在循环外,使用 implode() 函数将数组转换为字符串。

在下面的示例中,我们从存储在 $comb 变量中的组合生成一个随机密码。rand() 函数选取一个从 0 到字符串 $comb 长度的随机整数。随机整数用作从组合中选取随机字母数字值的索引。循环运行八次并选择八个随机字母数字值,最后形成一个随机密码。查看 PHP 手册 以了解有关 rand() 函数的更多信息。

示例代码:


# php 7.x
<?php
 $comb = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
 $pass = array(); 
 $combLen = strlen($comb) - 1; 
 for ($i = 0; $i < 8; $i++) {
     $n = rand(0, $combLen);
     $pass[] = $comb[$n];
 }
 print(implode($pass)); 
?>

输出:


aPsQWlzh

在 PHP 中使用 openssl_random_pseudo_bytes()bin2hex() 函数生成随机密码

我们可以使用 openssl_random_pseudo_bytes() 函数来生成一个伪随机字节串。我们可以指定一个整数值作为函数的参数来定义要生成的所需字节数的长度。bin2hex() 函数将二进制数据转换为十六进制表示。我们可以使用该函数将随机生成的字节串转换为十六进制表示形式并形成密码。此方法生成由字母数字值组成的随机密码。

例如,创建一个变量 $bytes 并为其分配函数 openssl_random_pseudo_bytes()。指定 4 作为函数的参数。创建另一个变量 $pass,并将函数 bin2hex() 写入其中。在函数中指定 $bytes 变量。使用 echo 语句打印 $pass 变量。

在下面的示例中,openssl_random_pseudo_bytes() 函数中的 4 表示要随机生成的字节数。bin2hex() 函数将字节转换为等效的十六进制数。随机生成的密码长度为 8,因为 4 字节字符串的十六进制转换结果为 8。

示例代码:


#php 7.x
<?php
$bytes = openssl_random_pseudo_bytes(4);
$pass = bin2hex($bytes);
echo $pass;
?>

输出:


ed203eef

使用 substr()str_shuffle() 函数从 PHP 中的给定字母数字字符串生成随机密码

我们可以使用 str_shuffle() 方法随机打乱给定的字符串。该函数将小写和大写字母组合的字符串以及从 0 到 9 的数字打乱。因此,它形成了所有可能情况的一种排列。我们可以使用 substr() 函数处理混洗后的字符串以选择其字符的一部分。因此,我们可以生成一个随机密码。

例如,创建一个变量 $comb 并在其中存储字符串值 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789。使用 str_shuffle()$comb 变量进行混洗并将其存储在 $shfl 变量中。然后,使用 substr() 函数和 $shfl 变量、08 作为参数。将函数存储在 $pwd 变量中并打印该变量。

在下面的示例中,我们使用与第一种方法相同的一组字母数字值。随机生成的密码由这些字母数字值组成。str_shuffle() 函数将字母数字值打乱并创建随机排列。我们在 substr() 函数中使用了 08 来从无序排列的第一个索引中选择八个字符。因此,它会生成一个八位数的随机密码。

代码示例:


#php 7.x
<?php
$comb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$shfl = str_shuffle($comb);
$pwd = substr($shfl,0,8);
echo $pwd;
?>

输出:


jenZq3lY

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在 PHP 中生成密码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

在 PHP 中生成密码

我们将介绍一种使用 rand() 函数在 PHP 中生成随机密码的方法。此方法使用大小写字母和数字的组合来形成密码。rand() 函数返回随机整数,即数组索引,以选择密码组合。我们还将介绍另一种使用 openssl_random_pseud
在 PHP 中生成密码
2024-02-27

如何在python中使用密码生成器

本篇文章为大家展示了如何在python中使用密码生成器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,
2023-06-14

Linux中怎么生成crypt加密密码

本篇文章给大家分享的是有关Linux中怎么生成crypt加密密码,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们可以用mkpasswd命令:这个命令就是用来生成crypt格式
2023-06-13

python -- 密码生成器

小Q:中庭地白树栖鸦,冷露无声湿桂花;今夜月明人尽望,不知秋思落谁家? 王建《十五夜望月》两个密码生成代码实例=============================================================#!/u
2023-01-31

php中的字符串怎么生成随机密码

本篇内容介绍了“php中的字符串怎么生成随机密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先定义一个password_generate
2023-06-20

怎么在php中生成验证码图片

小编给大家分享一下怎么在php中生成验证码图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.获取生成验证码字体:在php文件路径新建一个fonts文件夹,里面
2023-06-14

Linux中怎么生成随机密码

Linux中怎么生成随机密码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用 mkpasswd 实用程序生成密码mkpasswd 在基于 RHEL 的系统上随 expect
2023-06-16

Python随机生成密码

废话不说,直贴代码# coding:utf-8""" Author : han Email : oaixnah@163.com Time : 2019-07-27 17:12 Ho
2023-01-31

nodejs密码加密中生成随机数的实例代码

之前关于写了一个 nodejs密码加密中生成随机数,最近需要回顾,就顺便发到随笔上了 方法一: Math.random().toString(36).substr(2)运行后的结果就是11位数的随机数方法二: 1、定义函数function
2022-06-04

如何在 Golang 中使用随机数生成安全密码?

在 go 中生成安全密码涉及使用 crypto/rand 包获取随机字节,并使用 base32 编码为可打印字符串。实战案例演示了在 web 应用程序中使用随机密码加密用户密码的过程,其中包括使用盐和安全的哈希算法,如 pbkdf2。如何在
如何在 Golang 中使用随机数生成安全密码?
2024-05-14

python生成随机密码串

今天修改服务器密码,想来想去不知道设置什么密码比较好,索性设置随机数吧。python当中的random模块可以生成随机数,主要用这个生成随机密码。    顺便在讲一下string模块中的3个函数:string.letters,string.
2023-01-31

python快速生成验证码(密码)

描述:一个简单的练习生成验证码或密码的小脚本程序,验证码广泛用于web的随机验证模块,也可以通过稍稍改造,达到随机生成密码的效果.来看看代码吧:代码:def GetCode(num):    code = ''    for i in ra
2023-01-31

怎么在Linux系统下使用pwgen生成密码

本篇内容介绍了“怎么在Linux系统下使用pwgen生成密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!pwgen生成的密码易于记忆且相当
2023-06-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录