Javascript 如何为应用程序创建安全令牌?

Javascript 如何为应用程序创建安全令牌?,javascript,php,jquery,ajax,token,Javascript,Php,Jquery,Ajax,Token,我正在开发一个简单的应用程序,允许用户登录。Im使用ajax函数将值传递到不同域上的PHP文件。如果用户和密码正确,页面显示echosuccess,im使用该单词验证并创建一个随机密钥,以允许用户访问私人页面 我读到你也可以添加一个头标记,可以将它添加到我当前的代码中。。 我是开发应用程序的新手,希望有人能指出正确的方向,什么是最好的方法 var username = $("#username").val(); var password = $("#pass").val();

我正在开发一个简单的应用程序,允许用户登录。Im使用ajax函数将值传递到不同域上的PHP文件。如果用户和密码正确,页面显示echosuccess,im使用该单词验证并创建一个随机密钥,以允许用户访问私人页面

我读到你也可以添加一个头标记,可以将它添加到我当前的代码中。。 我是开发应用程序的新手,希望有人能指出正确的方向,什么是最好的方法

var username = $("#username").val();
    var password = $("#pass").val();


    var dataString = "username="+username+"&pass="+password+"&insert="; 
    $.ajax({
        type: "POST",
        url: "url",
        data: dataString,
        crossDomain: true,
        cache: false,
        beforeSend: function() {$('#loginButton').val('Connecting...');},
        success: function(data)
        { 
            if(data == " success")
            {
                alert("Success");
                returnHash(); 
            }

            if(data == " Login failed")
            {
                alert("There's a problem with username/password!");
                $('#loginButton').val('Submit');  
            }
        }
    });

function returnHash()
{
    letters = "abcdefghijklmnopqrstuvwxyz1234567890".split("");
    window.token=""; 
    for(i=0;i<64;i++){
         window.token += letters[Math.floor(Math.random()*letters.length)];
    }
    success();
}
要创建真正唯一的散列,请使用当前时间和随机生成的数字,如以下代码所示:

var dateForHash = (new Date()).valueOf().toString();
var createRandomNum = Math.random().toString();
crypto.createHash('sha1').update(dateForHash + createRandomNum).digest('hex');
您还可以使用crypto.randomBytes-此哈希是实用的,但不是理论上的

var hash = crypto.randomBytes(20).toString('hex');

我推荐第二种使用方法。

您在哪里阅读?