Javascript中的令牌生成熵等效[重复]
Posted
技术标签:
【中文标题】Javascript中的令牌生成熵等效[重复]【英文标题】:Token generation entropy equivalent in Javascript [duplicate] 【发布时间】:2020-04-29 11:41:14 【问题描述】:这一小段 php 代码生成具有非常好的熵的标记。我想知道javascript中是否有可以完成相同功能的函数。欢迎提供示例。
这里是 PHP
function getToken($length)
$token = "";
$codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$codeAlphabet .= "abcdefghijklmnopqrstuvwxyz";
$codeAlphabet .= "0123456789";
$max = strlen($codeAlphabet);
for ($i=0; $i < $length; $i++)
$token .= $codeAlphabet[random_int(0, $max-1)];
return $token;
echo getToken(24);
【问题讨论】:
【参考方案1】:做几乎相同的事情..
function getToken(length)
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ )
result += characters.charAt(Math.floor(Math.random() * charactersLength));
return result;
console.log(getToken(10));
Jquery 示例
$( document ).ready(function()
// set the length of the string
var stringLength = 10;
// list containing characters for the random string
var stringArray = ['0','1','2','3','4','5','6','7','8','9','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','!','?'];
$("#generateToken").click(function ()
var rndString = "";
// build a string with random characters
for (var i = 1; i < stringLength; i++)
var rndNum = Math.ceil(Math.random() * stringArray.length) - 1;
rndString = rndString + stringArray[rndNum];
;
$("#showToken").html('<p><strong>' + rndString + '<strong></p>');
);
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>Click the button below to generate a new, randomized token.</p>
<button id="generateToken">Generate New Token</button>
<p id="showToken"></p>
【讨论】:
不错。既然你提的差不多了,有什么区别值得注意吗? 应该完全一样,抱歉拼写错误 当您从高度支持的答案中复制代码时,至少提供参考或关闭问题:https://***.com/questions/1349404/generate-random-string-characters-in-javascript @icecub 大约 3 年前,我从 youtube 上的一个视频教程中得到了这个,用于重置密码,这个人的名字叫 JOHN,没有看到那个答案,也没有从那里复制。它是一个令牌生成脚本,如果您在互联网上搜索,几乎所有脚本都是相同的。谢谢以上是关于Javascript中的令牌生成熵等效[重复]的主要内容,如果未能解决你的问题,请参考以下文章
PHP等效于JavaScript getTime() [重复]