首页 > 其他分享 >生成指定长度的随机字符串几个示例

生成指定长度的随机字符串几个示例

时间:2023-02-18 10:38:45浏览次数:47  
标签:rand hash 示例 chars numeric seed 随机 字符串 return


一、示例1

/**
* @param $length
* @param bool|false $numeric
* @return string
* 生成指定长度的随机字符串并返回。
*/
function random($length, $numeric = false) {
$seed = base_convert(md5(microtime() . $_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
$seed = $numeric ? (str_replace('0', '', $seed) . '012340567890') : ($seed . 'zZ' . strtoupper($seed));
if ($numeric) {
$hash = '';
} else {
$hash = chr(rand(1, 26) + rand(0, 1) * 32 + 64);
$length--;
}
$max = strlen($seed) - 1;
for ($i = 0; $i < $length; $i++) {
$hash .= $seed{mt_rand(0, $max)};
}
return $hash;
}

二、示例2

/**
* * 产生一个指定长度的随机字符串
* @param int $len 产生字符串的长度
* @return string 随机字符串
*/
private function genRandomString($len = 16) {
$chars = array(
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
"3", "4", "5", "6", "7", "8", "9"
);
$charsLen = count($chars) - 1;
// 将数组打乱
shuffle($chars);
$output = "";
for ($i = 0; $i < $len; $i++) {
$output .= $chars[mt_rand(0, $charsLen)];
}
return $output;
}

标签:rand,hash,示例,chars,numeric,seed,随机,字符串,return
From: https://blog.51cto.com/u_15967457/6065088

相关文章

  • PHP+RabbitMQ消息发布与订阅简单示例
    我们有一个小说系统,每天会有很多作者发布新的小说内容,而读者因为个人爱好可能只订阅他喜欢的类型的小说,比如历史类、玄幻类小说。小说系统每天会根据用户的口味推送相关的小......
  • PHP与RabbitMQ消息队列简单示例
    ​​RabbitMQ​​提供跨语言接口,我们可以使用主流编程语言Java,C,C++,Python,PHP等和RabbitMQ做对接。RabbitMQ有消息确认机制、灵活的路由控制、以及消息集群高可用,使得很多大......
  • 腾讯云视频点播示例
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1"><metaname="viewport"content="wi......
  • sqlite把多条记录合并成字符串,用逗号分隔
    selectgroup_concat(hdcd_DeptName)fromf1wherehdcd_DeptName='呼吸内科门诊' 我们需要把多条记录合并成字符串,用逗号分隔。这样的需求,目的是用于SQL语句和JS......
  • C语言填空:指定范围内的随机整数
    //如果要规定上下限:ab(b>a)///rand()%(b-a+1)+a;//产生a~b的随机数//分析:取模即取余,rand()%51+13我们可以看成两部分:rand()%51是产生0~50的随机数,后面+13......
  • R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测|附代码数据
    原文链接:http://tecdat.cn/?p=17950 最近我们被客户要求撰写关于的研究报告,包括一些图形和统计输出。 在本文中,我们使用了逻辑回归、决策树和随机森林模型来对信用数......
  • 无重复字符串的最长子串
    无重复字符串的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"......
  • 无重复最长字符串
    classSolution{publicintlengthOfLongestSubstring(Strings){intlen=s.length();//输入的字符串长度intmax=0;//不重复......
  • 随机森林的训练过程
      随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就......
  • while循环补充、for循环、range关键字、内置方法之整型、内置方法之浮点型、内置方法
    目录一、while循环补充(1)、while+continue(2)、while+else(了解)(3)、死循环二、for循环range关键字for+breakfor+continuefor+elsefor循环嵌套三、数字类型内置方法(1)、......