如何在颤振消息传递中添加 RSA 加密?

时间:2021-04-28 16:57:41

标签: firebase flutter dart rsa

我正在使用 firebase firestore 制作消息传递应用程序,我想知道,当我发送消息时如何加密和解密消息?我也想知道如何与接收者交换公钥。

  addMessage() {
    if (messageEditingController.text.isNotEmpty) {
      Map<String, dynamic> chatMessageMap = {
        "sendBy": Constants.myName,
        "message": messageEditingController.text,
        'time': DateTime
            .now()
            .millisecondsSinceEpoch,
      };

这是我的消息发送功能。我找到了生成密钥的代码,我想在发送消息时添加它们。基本上我只想用接收者的公钥加密消息,这样他就可以解密了。

  Future<void> MyEncryptedKeys(String password, AsymmetricKeyPair keyPair) async {
    final key = await _cryptor.generateKeyFromPassword(password, _salt);
    final publicKeyPem = _rsaHelper.encodePublicKeyToPemPKCS1(keyPair.publicKey);
    final privateKeyPem = _rsaHelper.encodePrivateKeyToPemPKCS1(keyPair.privateKey);
    final encryptedPublicKey = await _cryptor.encrypt(publicKeyPem, key);
    final encryptedPrivateKey = await _cryptor.encrypt(privateKeyPem, key)

这是我的 rsa 密钥生成器的一部分

0 个答案:

没有答案