我刚刚开始使用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 tutorial就足以让我弄清楚这一点了。我假设我可以在我的代码中对公钥进行硬编码(它不会改变)。
任何帮助将不胜感激!
答案 0 :(得分:1)
通常,RSA“密钥加密密钥”用于加密对称算法的“内容加密密钥”。该内容加密密钥用于加密文件。
SSL,S / MIME和PGP等协议可以使用这种方法(有时称为密钥传输)。与对称算法相比,非对称加密非常非常慢。
像Chilkat's这样的VB.NET S / MIME库可以处理这个任务。