我正在使用 Node.js 和 MySQL 为 iOS 应用程序编写 Web 后端/api。在我的数据库中,我有一个帖子表。我希望对帖子内容进行加密。假设我正在使用这个AES 进行加密。
我希望能够安全地加密和解密服务器上的数据。来回发送到客户端的数据将未加密,但通过 HTTPS 发送(这是个好主意)?
我的问题:
我应该如何生成密钥?它们应该是随机字符串吗?
我应该在哪里存储密钥,因为每条消息都会有不同的密钥。
对抗模型
我想保护已经可以访问我的运行 https API(用 Node.js 编写)的服务器并可以访问我的 MySQL 数据库的人。我想反对那个人能够解密该表中的加密数据。所以重要的是,即使他们有大量的加密数据,而且加密的工作方式仍然无法解密数据。