我正在index.js文件中的index.js文件中进行防火墙云功能,
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。
我已经通过导入index.js在calculatePrice函数中导入了crypto,
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 (距离)。
发布于 2019-02-08 10:58:31
var hash = pbkdf2(String(request.query.distance * fare), salt, iterations);这是一个散列,它是一个单向函数,通常用于存储和验证密码,而不能获得原始的纯值。
理论上-您可以对客户端(类型记录) e.g.using、密码js或Window.crypto上的数据进行加密。为此,您需要安全地与服务器(nodejs)共享加密密钥,这并不容易。TLS (https)将为您做这件事。
我还需要发送的距离与加密的类型记录,并得到加密的值,并需要使解密节点js。 请帮助我安全地从节点js发送和接收数据到类型记录(按计算的总价计算),也从类型记录发送到节点js (距离)。
据我所知,您的目标是确保数据在组件、客户端和服务器端操作之间的保密传输。
如前所述,使用https可以确保通过加密的通道发送数据。它是透明的--您只需要发送/接收普通的纯值,但是通信本身是安全加密的。只需确保通信的端点使用https协议(例如https://us-central1-sample-..)。
同样,客户端可以确保它与正确的服务器对话。仍然-您需要确保发送到服务器(nodejs)的数据来自正确的客户端。我相信您最简单的选择是使用简单的用户身份验证。
长话短说-使用https (发送/接收数据)将确保在正确使用时通过加密通道发送值。
https://stackoverflow.com/questions/54551115
复制相似问题