我们有一个要求,我们需要能够加密/解密查询字符串,如下所示:
http://oursite.com/login?uname= encryptedUName&fname=encryptedFname&lname=encryptedLname.
它的工作方式是我们公司向第三方供应商提供记录的 CSV。然后第三方供应商生成上述 url 并通过电子邮件营销发送给客户。
所以,我在想
- 加密 CSV 文件中的记录
- 第三方供应商仅解析加密文本并生成电子邮件。
- 当用户点击链接时,用户会来到我们的网站。
- 然后我们解密并预填充表单字段。
文件内容可能如下所示:
*login?uname=encryptedUName&fname=encryptedFname&lname=encryptedLname。
login?uname=encryptedUName&fname=encryptedFname&lname=encryptedLname.*
问题:
- 我应该使用 X509 证书来加密和解密吗?
- 或者,我应该使用 RSA 吗?
- 如何确定是 X509 还是 RSA?
谢谢。
最佳答案
数字证书在公钥和私钥对(非对称加密)之上工作。证书添加的是信任。您可以使用证书颁发机构签署证书并创建信任链。
在你的情况下,你似乎不需要证书,因为你自己管理加密/解密,你的供应商知道你,不需要第三方来验证你是谁。
但是,如果对您的供应商来说更简单,您可以使用自签名证书作为 key 容器。
关于c# - 何时使用非对称 key 与数字证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23188931/