我想用不对称的加密和解密方法来处理这个文档: httPS://

对于文本的加密和解密,他们有一个例子:

import 'dart:io';
import 'package:encrypt/encrypt.dart';
import 'package:pointycastle/asymmetric/api.dart';

void main() {
  final publicKey = await parseKeyFromFile<RSAPublicKey>('test/public.pem');
  final privKey = await parseKeyFromFile<RSAPrivateKey>('test/private.pem');

  final plainText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit';
  final encrypter = Encrypter(RSA(publicKey: publicKey, privateKey: privKey));

  final encrypted = encrypter.encrypt(plainText);
  final decrypted = encrypter.decrypt(encrypted);

  print(decrypted); // Lorem ipsum dolor sit amet, consectetur adipiscing elit
  print(encrypted.base64); // kO9EbgbrSwiq0EYz0aBdljHSC/rci2854Qa+nugbhKjidlezNplsEqOxR+pr1RtICZGAtv0YGevJBaRaHS17eHuj7GXo1CM3PR6pjGxrorcwR5Q7/bVEePESsimMbhHWF+AkDIX4v0CwKx9lgaTBgC8/yJKiLmQkyDCj64J3JSE=
}

在我的客户机中,只有公钥可用,并且在示例中,他们希望公共和私钥都可以用于解密,是否有任何方法可以使我的客户机只拥有一个公钥来解密使用私钥创建的文本


有没有任何方法可以让我的客户机只拥有一个公钥来解密使用私钥创建的文本。 用私钥加密,用公钥解密是毫无意义的。任何人都可以解密密文,因为公开密钥不是秘密的。

更具体地说,当我发送给你时,公开密钥对加密是我使用的私人密钥,然后是你的公开密钥。你使用你的私钥,然后是我的公钥,这证明它肯定是我的。