加密 - 这已解决 -RSA加密 - 用私钥
我已经找到了如何做到这一点,并写了一个快速的文章,解释我是如何做到这样的位置:http://juzzbott.com/2010/11/signing-and-verifying-data-within-csharp-encrypting-with-private-key-sort-of/
谢谢给bjarkef & Henk Holterman花时间向我解释这个彻底。
干杯
- 原单的问题 -
我正在寻找一种方式将数据与私钥加密,并有公钥解密。我知道这通常不是你想要加密的东西,因为任何人都可以用公钥读取它,但这正是我所需要的。
我需要的数据串由私人密钥进行加密,这样只有我可以创建加密的数据,并有我的应用程序通过公共密钥读取它。这背后的想法是为我的应用程序创建许可证文件,加密许可证详细信息,并让应用程序读取这些数据。这将阻止除我以外的任何人生成许可证,但会允许应用程序通过公钥读取它。
的这种想法是控制加密的数据,并且不关心谁可以读取它,只有谁就能创造它。
使用RSACryptoServiceProvider,我可以创建我的公钥/私钥,我可以使用私钥对数据进行加密,但是当我使用公钥进行解密时,会出现“未找到密钥”异常。
与RSA签名也不可能,因为我需要加密的数据与纯文本数据进行比较,以确保许可证是有效的,只有签署验证来源,而不是它所包含的内容。
是否有任何其他加密提供,我可以用它来做到这一点,或阅读许可细节,因此我把私钥,并分发与我进行许可证验证程序的公钥一些其他的方法。
干杯
“但是,如果一个邮件进行数字签名,签名后的消息中的任何改变都会使签名无效。” http://en.wikipedia.org/wiki/Digital_signature#Integrity。你确定签名不是你需要的吗? – steinar 2010-11-02 22:25:56
您所描述的内容称为“签名”,即使您认为它不是。 – 2010-11-03 01:09:15
我知道我可以签署一串数据,并且会验证数据来自我,但是,我正在使用该加密数据为许可证设置选项,IE并发用户。因此,虽然我可以签署原始数据(包含并发用户数),并发送纯文本数据,但无法比较这些值以确保其真实性。即:我将并发用户数作为纯文本发送,并且还包含一个包含加密用户数的字符串。然后我想要做的是取消加密并发用户值,并将其与纯文本值进行比较。 – Juzzbott 2010-11-03 01:54:15