Я использую эту библиотеку для реализации защищенного чата один на один в моем приложении.ниже приведен пример кода
const preSharedKey__ROOT = new Buffer('010061d5eb6946be4a77', 'hex')
const preSharedKey__header = new Buffer('020061d5eb6946be4a77', 'hex')
const preSharedKey__nextHeader = new Buffer('030061d5eb6946be4a77', 'hex')
const alice = new Ratchet(preSharedKey__ROOT, preSharedKey__header, preSharedKey__nextHeader)
const bob = new Ratchet(preSharedKey__ROOT, preSharedKey__nextHeader, preSharedKey__header)
// handshake sent over public channel
const bobHandshake = bob.makeHandshake()
alice.acceptHandshake(bobHandshake)
// initial message
console.log( bob.decrypt(alice.encrypt("ping")) )
console.log( alice.decrypt(bob.encrypt("pong")) )
Он отлично работает для шифрования и дешифрования один к одному.Но я хочу сделать эту работу для группового чата.ниже мой рабочий процесс
- В группе три человека: Алиса, Боб, Джон
- Алиса делится секретом своей группы с Бобом и Джоном
- И Боб, иДжон может расшифровать сообщение Алисы.
- Им не нужно отправлять сообщения Алисе.
Возможно ли это сделать с помощью двойного храповика ?.Если это невозможно, то как я могу отправить сообщение группе людей, не нарушая секретности.Я не предпочитаю разветвление на стороне клиента.Как я могу это сделать?