我正在使用 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 密钥生成器的一部分