gpt4 book ai didi

javascript - 如何为应用程序创建安全 token ?

转载 作者:行者123 更新时间:2023-12-03 04:30:02 24 4
gpt4 key购买 nike

我正在开发一个简单的应用程序,允许用户登录。我使用 ajax 函数将值传递到 PHP 文件(在不同的域上)。如果用户和密码正确,页面将显示回显“成功”,并且我会使用该词进行验证并创建随 secret 钥以允许用户访问私有(private)页面。

我读到您还可以添加 header 标记,可以将其添加到我当前的代码中。我是开发“应用程序”的新手,希望有人能够指出正确的方向,什么是最好的方法来做到这一点。

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');

对于此类使用,我建议采用第二种方式。

关于javascript - 如何为应用程序创建安全 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43529549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com