我已经看过这个和其他网站,但找不到任何与我需要的完全匹配的东西。我需要的是一种加密(或混淆)文件(不是exe)而无需用户输入密码的方法这是因为我需要一个可能在另一台计算机上运行的单独程序无法连接到加密机以便能够读取文件。但是,如果有人在两个终端之间读取文件,它将看起来像胡言乱语,并且希望很难解密。 我目前有一个基本的凯撒移位类型加密。我知道这将依赖于某种程度的安全性,但是任何想法都会非常受欢迎。在此先感谢!!
答案 0 :(得分:0)
您要描述的加密类型,两端必须知道相同的已知“密码”(密钥),称为 symmetric encryption 。可以使用从SymmetricAlgorithm
基类继承的任何一个加密提供程序类(例如AesCryptoServiceProvider
)在.NET中执行对称加密。
如果您不希望两端都必须知道相同的密码,最常见的解决方案是使用名为 asymmetric encryption 的内容。使用非对称加密,有一个可公开查看的密钥(任何人都可以看到它),但该密钥仅对加密数据有用。当你所知道的只是公钥时,没有合理的方法来解密数据。因此,收件人可以生成公钥并以明文形式将其发送给发件人。然后,发件人可以使用该公钥加密邮件并安全地将其发送给收件人。然后,收件人可以使用它的私钥解码数据。只有收件人知道用于生成公钥的私钥。这是互联网上用于制作安全网站的form of encryption。
向下到非对称加密是发送方和接收方需要进行实时双向通信才能实现。只有当只有一个收件人需要能够解码数据时,它才有用。
可以使用从AsymmetricAlgorithm
基类继承的任何一个提供程序类(例如RSACryptoServiceProvider
类)在.NET中执行非对称加密。