0

我刚刚开始使用 Visual Basic .NET,目前遇到以下问题:如何使用非对称加密加密/解密文件?

本质上,我试图弄清楚如何在 VB 中编写以下伪代码:

Function EncryptFile(path_to_file_to_encrypt, public_key)
  file = ReadFile(path_to_file_to_encrypt)
  encrypted_file = Encrypt(file, public_key)
  SaveToDisk(encrypted_file, "C:\Encrypted\encryptedfile.xxx")
End Function

Function DecryptFile(path_to_encrypted_file, private_key)
  encrypted_file = ReadFile(path_to_encrypted_file)
  file = Decrypt(file, private_key)
  SaveToDisk(file, "C:\Decrypted\file.xxx")
End Function

我正在加密/解密的文件是一个 Access 数据库文件(即二进制文件),如果这有什么不同的话。

我知道有私钥容器,但看起来MSDN 教程足以让我弄清楚这一点。我假设我可以在我的代码中硬编码公钥(它不会改变)。

任何帮助,将不胜感激!

4

1 回答 1

1

通常,RSA“密钥加密密钥”用于加密对称算法的“内容加密密钥”。该内容加密密钥用于加密文件。

SSL、S/MIME 和 PGP 等协议可以使用这种方法(有时称为密钥传输)。与对称算法相比,非对称密码学非常非常慢。

Chilkat 的VB.NET 的 S/MIME 库之类的东西可以处理这个任务。

于 2009-10-16T18:48:57.233 回答