使用node.js通过HTTP将文件加密为字符串

Encrypt file as string through HTTP with node.js

本文关键字:文件 加密 字符串 HTTP node js 通过 使用      更新时间:2023-09-26

我正在寻求关于我想做什么的建议。目前,我使用服务器a通过HTTP向服务器B请求文件。

服务器B检查请求的路径是否存在,并通过HTTP以字符串形式返回文件内容。一切都很清楚。

我想做的是对传输进行加密,所以在将文件内容发送回服务器A之前,我想以服务器B能够逆转的方式对其进行保护。

我要它快,安全(盐),不要太大。(文件可以包含数千个字符)

实现这一目标的最佳方式是什么?我在两台服务器上都使用node.js。

我还考虑添加一个身份验证,并通过HTTPS来保护内容,假设保护(cryptage/etc.)不会被破坏,这有用吗?(Auth可以限制请求并避免使用太多带宽,但HTTPS真的值得吗?)

我对密码术不太了解,它可能不是合适的词,请指导我。

要加密HTTP请求的内容,请使用HTTPS。不要麻烦重新发明轮子。

HTTPS将使能够拦截这些服务器之间通信的人无法读取您来回发送的文件。http://book.mixu.net/node/ch10.html介绍了在客户端和服务器上的节点应用程序中打开HTTPS的步骤。如果您在节点应用程序前使用Nginx或Apache作为代理,您也可以找到它们的说明。

HTTPS不会限制对服务器的访问。为此,您需要使用身份验证/授权系统。http://passportjs.org是一个非常标准的NodeJS模块。

我想要它快,安全(盐)并且不要太大。(文件可以包含数千个字符)

盐这个概念在这里不适用。

您在单向散列函数(如MD5或SHA)上使用salt,这样,如果您对同一字符串加密不同的时间,它就不会得到相同的结果。

如果用户A和用户B的密码都是"Password123",那么它们将是数据库中的两个不同的散列字符串。这意味着破解用户A的密码不会自动破解用户B的密码。