【问题标题】:Token generation entropy equivalent in Javascript [duplicate]Javascript中的令牌生成熵等效[重复]
【发布时间】: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);

【问题讨论】:

    标签: javascript php


    【解决方案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://stackoverflow.com/questions/1349404/generate-random-string-characters-in-javascript
    • @icecub 大约 3 年前,我从 youtube 上的一个视频教程中得到了这个,用于重置密码,这个人的名字叫 JOHN,没有看到那个答案,也没有从那里复制。它是一个令牌生成脚本,如果您在互联网上搜索,几乎所有脚本都是相同的。谢谢
    猜你喜欢
    • 1970-01-01
    • 2020-05-08
    • 2017-02-03
    • 2016-10-26
    • 2011-09-14
    • 2018-02-02
    • 1970-01-01
    • 2017-11-24
    • 2014-10-12
    相关资源
    最近更新 更多