我正在尝试加密以json格式通过ajax发送的密码。加密逻辑在我的server.js
中如何从server.js传递加密响应。我能够加密,但我坚持传递这个加密的响应
server.js:
app.post('/mylink',function(request,reply){
var data = JSON.stringify(request.body.jsonblob);
var pwd = request.body.jsonblob.Password;
var cipher = crypto.createCipher(algorithm,password)
var crypted = cipher.update(pan,'utf8','hex')
crypted += cipher.final('hex');
console.log("crypted"+crypted);
reply.send(crypted);
});
在我的html页面中调用ajax:
var json_data = JSON.stringify({
"jsonblob" : {
"Password": password
}
});
$.ajax({
url:"/mylink",
type: "post",
dataType: "json",
contentType: "application/json",
data: json_data,
success:function(response){
if(response.status === "success")
{
console.log(crypted);
}
},
error: function(jqXHR, textStatus, errorThtrown) {
console.log("error " +textStatus);
}
});
答案 0 :(得分:0)
我无法想到您希望将加密密码返回给客户端的任何用例。您在服务器上加密和解密密码,以保护您的密码不会以明文形式存储在数据库中。
我认为您可能会混淆密码加密并生成JSON Web令牌,您可以在以后用它来验证用户身份。在这种情况下,您需要返回要在客户端保存的令牌。有很多关于如何构建安全的Node后端的精彩文章。这是我的最爱:
https://medium.freecodecamp.org/securing-node-js-restful-apis-with-json-web-tokens-9f811a92bb52
此外,如果您想保护密码以清楚显示请求内容,请确保使用HTTPS。