用户与节点应用程序之间的消息传递

我想在我的iOS和Android应用程序中实现应用程序内消息,而我不确定应该如何创build后端function。 从我的后端运行之前,Node.js和用户等存储在MongoDB。

我想我很容易就可以实现消息传递,只需将消息保存在数据库中,然后使用新消息向接收者发送一个消息,并在应用程序中显示消息,但我不希望消息在服务器上可读。 因此有必要在数据库中对它们进行encryption,并在客户机上进行解密。

有没有人有任何build议可以实现encryption或节点框架使用? 我看过socket.io,但这似乎是创build实时聊天应用程序,这不完全是我在找什么。 我也看过RabbitMQ,但是我不太明白它是否适合我的要求。

提前谢谢了!

你在谈论端到端的encryption。 如果encryption密钥在应用程序内硬编码,则encryption很容易中断。 为了实现这样的事情,你需要一个iOS库和一个Android库。

对于iOS,我build议使用OpenSSL并实施encryptionscheme(公钥encryption)。 对于Android,您可以使用Spongy Castle图书馆。

由于iOS推送通知大小的限制,通过PUSH发送数据并不是一个好主意。 你也可能(可能)需要实现一个用户login的authentication机制。 你可以在这里走两条路

  1. 让服务器为客户端生成一个秘密来解密

  2. 单独的密钥(数据库散列密码,客户端公钥/私钥)

我没有使用socket.io/rabbitmq,所以不幸的是我不能帮你。 好像你是新手,我会仔细看看公钥密码学。 http://en.wikipedia.org/wiki/Public-key_cryptography#Examples