我正在用node和express构建一个API,它可以使用通用密码加密和解密消息。在我的API中,标准路径格式/& lt;加密/decrypt>/& lt;关键(s)祝辞。我不确定目前处理多个"键值"的最佳方法。由于某些密码可能使用多个密钥值进行加密。
const express = require("express");
const app = express();
const port = 3000;
const checkInput = require("./input_validator");
//import affine cipher utilities
const [affine, reverseAffine, affineKeyValidator] = require("./ciphers/affine");
app.get("/affine/encrypt/:string/:key", (req, res) => {
if (checkInput(req.params.string)) {
let key = JSON.parse("[" + req.params.key + "]");
if (affineKeyValidator(key[0])) {
res.send({ text: affine(req.params.string, key[0], key[1]) });
}
}
});
app.listen(port, () => {
console.log(`Server running on http://localhost:${port}`);
});
上面的是我当前的实现。路径的一个例子是/affine/encrypt/hiddenmessage/1,25,这在技术上工作得很好,但我觉得这不是实现我所寻找的最好方法。有没有更有效的方法来解决这个问题?
此格式的值可以在QueryParams
中发送。您使用的是纯express.js,因此,当您从前端/客户端发送数据时,您可以将该数据附加在HTTP查询参数中,然后可以通过以下方式检索:
const query = req.query;// query = {key:"abc", value: "123"}