javascript - 聊天系统架构 : Where to decrypt the messages?

标签 javascript node.js encryption chat

我正在设计一个使用加密的匿名聊天网站。我应该在客户端解密消息还是在服务器端解密消息?哪种方法更安全?我使用Node.js + Socket.io来开发聊天系统。

例如:

用户A加密消息,将加密消息发送到服务器,服务器将加密消息发送给用户B,用户B解密消息(客户端解密)

用户B加密消息,将加密消息发送到服务器,服务器解密消息并将解密后的消息发送给用户B(服务器端解密)

最佳答案

在客户端解密消息。

您在评论中提到端到端加密是必需的。这意味着服务器一定不可能解密消息。

引用https://en.wikipedia.org/wiki/End-to-end_encryption :

End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages.
[...]
In an E2EE system, encryption keys must only be known to the communicating parties.

关于javascript - 聊天系统架构 : Where to decrypt the messages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001573/

相关文章:

javascript - 如何让栏目内容垂直居中对齐? Bootstrap

javascript - 英特尔XDK |安卓应用程序 |无法将用户输入发布到 Facebook 群组

node.js - 通过 Express 持续更新 Backbone 模型

Javascript - 从 If/Else block 外部调用变量返回未定义

android - 如何在android中使用初始化向量进行AES-256加密和解密

c# - 我如何签署变量?

javascript - 增加 Chart.js 中悬停时显示的标签的字体大小

javascript - (window.beforeEach || window.setup) 不是函数

mysql - 如何将JSON对象放入MySQL数据库

powershell - ConvertTo-SecureString 在没有 key 的情况下在不同的用户帐户上运行,有没有办法(使用适当的凭据)从不同的用户那里得到这个工作?