【发布时间】:2019-06-30 06:11:34
【问题描述】:
我正在index.js文件中的node.js中制作firebase云功能,
exports.calculatePrice = functions.https.onRequest((request, response) => {
cors(request, response, () => {
var fare = 10;
response.send(request.query.distance * fare);
})
});
这里response.send(request.query.distance * fare)是根据行驶距离和票价计算的总票价..
这里我需要将此response.send(request.query.distance * fare) 作为安全数据发送并需要在打字稿中接收它,
let distance = 20;
this.http.get('https://us-central1-sample-project.cloudfunctions.net/calculatePrice/?distance=' + distance).subscribe(data => {
this.finalFare = data;
})
我还需要发送在打字稿中加密的distance 并获取加密值,并需要在node js 中解密..
简单来说,在获取this.http.get(https://us-central1-sample-......) 中的数据时,我需要传递加密距离并需要在index.js 中获取它,并且在完成总票价计算后需要通过加密发回总票价并且需要将home.ts(打字稿文件)中的总票价解密并分配给this.finalFare = data..
我已经通过导入crypto 在calculatePrice 函数内的index.js 中尝试了以下操作,
var salt = crypto.randomBytes(128).toString('base64');
var iterations = 10000;
var hash = pbkdf2(String(request.query.distance * fare), salt, iterations);
response.send(hash).
但它不起作用..
我希望用发送和接收安全数据(这就是我所需要的)来代替加密和解密(我在这个问题中使用过)这个词会更好..
请帮助我将数据从节点 js 安全地发送和接收到打字稿(用于计算的总价格)以及从打字稿到节点 js(用于距离)..
【问题讨论】:
-
pbkdf2用于生成用于密码的慢速加盐哈希,无法恢复原始值。将数据传递到后端 - SSL 不能完成这项工作吗? -
@gusto2,我是这个场景的新手,所以请帮助我以正确的方式安全地获取值..
-
这个想法是你应该使用
https来传递数据,到目前为止,你没有理由在客户端加密任何通过简单地使用 https 无法实现的东西 -
@gusto2,你能详细说明一下吗..我认为它可以在客户端实现,因此没有给出理由..但我是初学者,所以我不确定如何实现它将加密值从打字稿发送到节点 js(用于距离),反之亦然(用于价格计算)..
标签: javascript node.js typescript firebase encryption