wee/randompassword

随机密码生成器

3.0.1 2023-11-25 09:59 UTC

This package is auto-updated.

Last update: 2024-09-24 16:35:21 UTC


README

需要PHP 8.0或更高版本

描述

string wee_randomPassword( [ int length [, string type [, mixed charsets ]]] )

该函数被编写为创建具有良好控制最终输出的强密码。您可以指定密码的长度和类型。还可以创建自定义密码类型。

为了控制输出字符集,使用字符集。从每个集中选择等量的字符。此外,每个集中的每个字符都必须在使用后再次被选中之前被使用。这确保了所有字符类型都被使用,并且重复字符保持在最低限度。

该函数返回一个UTF-8编码的字符串。自定义类型的字符必须使用UTF-8编码。

表:函数参数

参数描述
length密码长度(默认:8)
type密码类型(默认:字母数字)
charsets自定义字符集(仅适用于“自定义”类型)

表:密码类型

type字符集
字母数字 (默认)ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789
减少 (=字母数字,不包含0oO9g1lI)ABCDEFGHJKLMNPQRSTUVWXYZ abcdefghijkmnpqrstuvwxyz 2345678
字母表ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
asciiABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 `~!@#$%^&*()-_=+\⎮[]{};:'",.<>/?``
latin1ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ 0123456789 `~!@#$%^&*()-_=+\⎮[]{};:'",.<>/?``
十六进制0123456789 abcdef
数字0123456789
自定义用户定义 (UTF-8编码)

尽管此函数应该创建强密码,但并不能保证100%的安全性。仍然存在一定概率此函数会创建类似ABCabc123这样的密码。要测试生成密码的强度,可以使用例如cracklib

示例

require_once 'randompassword.php';

// Default behaviour (no parameters), e.g. 3pHJXd4l
$password1 = wee_randomPassword();

// Password with length 8 and type ascii, e.g. 7w$6aDR~
$password2 = wee_randomPassword(8, 'ascii');

// Password with length 6 and only lowercase letters, e.g. fkslhu
$password4 = wee_randomPassword(6, 'custom', 'abcdefghijklmnopqrstuvwxyz');

// Password with length 16 and only uppercase letters + numbers, e.g. 71H5N92GJK0I6E3A
$password5 = wee_randomPassword(16, 'custom', ['ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789']);

许可证

该软件包在MIT许可证下发布