国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

如何使用PHP生成隨機(jī)字符串

2020-03-22 19:46:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
使用PHP生成隨機(jī),唯一,字母數(shù)字字符串

例子:

EA070aBX32gTf

方法1:

第一種方法是最容易理解的方法。它可以實(shí)現(xiàn)如下:

-將所有可能的字母存儲(chǔ)到字符串中。

-生成從0到字符串長(zhǎng)度-1的隨機(jī)索引。

-打印該索引處的字母。

-執(zhí)行此步驟n次(其中n是所需字符串的長(zhǎng)度)。

html' target='_blank'>程序代碼如下:

 ?php $n=10; function getName($n) {  $characters = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ  $randomString =  for ($i = 0; $i $i++) {  $index = rand(0, strlen($characters) - 1);  $randomString .= $characters[$index];  return $randomString; echo getName($n); ? 

輸出1:

3HDrSOvRIs

輸出2:

lipHh

方法2:使用哈希函數(shù)

PHP有一些函數(shù),如md5(),sha1()和hash(),可用于根據(jù)某些算法(如“sha1”,“sha256”,“md5”等)對(duì)字符串進(jìn)行哈希處理。所有這些函數(shù)都將一個(gè)字符串作為參數(shù)并輸出一個(gè)Alpha-Numeric哈希字符串。

使用rand()函數(shù)生成隨機(jī)數(shù)。

使用上述功能之一對(duì)其進(jìn)行哈希處理。

程序1:

 ?php $str=rand(); $result = md5($str); echo $result; ? 

輸出1:

2e437510c181dd2ae100fc1661a445d4

輸出2:

256394010059991a71ea05e5d859d2be

程序2:

 ?php $str=rand(); $result = sha1($str); echo $result; ? 

輸出1:

6eadd9b2c4389d9b109b3b869f66aab5d8f9420a

輸出2:

ca2d3c0993ab87e842d0a7a01f319aca6c587a87

程序3:

 ?php $str = rand(); $result = hash( sha256 , $str); echo $result; ? 

輸出1:

2a41cbc8cc11f8c8d0eb54210fe524748b4def1c5b04fcf18c2d5972e24d11c2

輸出2:

291144c1cbba4de0bf199d37ee265ac95cc2e44e80fd2642b22a6e8ef2f42a39

注意:以上所有函數(shù)都是散列函數(shù),因此生成的字符串長(zhǎng)度將始終取決于所使用的算法,但對(duì)于算法,它將始終保持不變。因此,如果要生成固定長(zhǎng)度的字符串,可以根據(jù)需要截?cái)嗌傻淖址蚺c另一個(gè)字符串連接。

方法3:

使用uniqid()函數(shù)。PHP中的uniqid()函數(shù)是一個(gè)內(nèi)置函數(shù),用于根據(jù)當(dāng)前時(shí)間(微秒)生成唯一ID。默認(rèn)情況下,它返回一個(gè)13個(gè)字符長(zhǎng)的唯一字符串。

程序:

 ?php $result = uniqid(); echo $result; ? 

輸出1:

5bdd0b74e9a6c

輸出2:

5bdd0bbc200c4

注意:以上所有方法都是基于rand()和uniqid()函數(shù)構(gòu)建的。這些函數(shù)不是加密安全的隨機(jī)生成器。因此,建議如果隨機(jī)程度影響應(yīng)用程序的安全性,則應(yīng)避免使用這些方法。

方法4:

使用random_bytes()函數(shù)。(加密的安全)的random_bytes()函數(shù)生成加密安全偽隨機(jī)字節(jié),它可在以后使用被轉(zhuǎn)換為十六進(jìn)制格式BIN2HEX()函數(shù)。

程序:

 ?php $n = 20; $result = bin2hex(random_bytes($n)); echo $result; ? 

輸出1:

235aed08a01468f90fa726bd56319fb893967da8

輸出2:

508b84494cdf31bec01566d12a924c75d4baed39

本篇文章就是關(guān)于PHP生成隨機(jī)字符串的方法介紹,希望對(duì)需要的朋友有所幫助!

以上就是如何使用PHP生成隨機(jī)字符串的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汉寿县| 洛南县| 姚安县| 林西县| 望谟县| 宜都市| 沅江市| 建昌县| 新乡市| 葵青区| 汉中市| 喀喇沁旗| 安图县| 福州市| 阜宁县| 肥西县| 蒙城县| 碌曲县| 塘沽区| 江安县| 水富县| 鱼台县| 石楼县| 武功县| 万载县| 昌乐县| 永兴县| 延安市| 济阳县| 万宁市| 襄樊市| 垫江县| 北京市| 昌邑市| 城口县| 大新县| 慈利县| 乌兰察布市| 招远市| 昌乐县| 自贡市|