我一直尝试使用我的私有RSA密钥进行加密,并使用我的公共RSA密钥进行解密,但是如果没有“Decrypt(),我无法解密:密钥无法在指定状态下使用。”
哦,我意识到你通常用公钥加密 - 这不是我想要做的。请不要通过“了解PKE的工作原理”
来发送垃圾邮件我需要的是能够在我的计算机上加密补丁(大约200字节的基本64文本),然后用公钥解密程序,证明我做了补丁。 我可以获得一些帮助,或者您是否知道任何可以使这更容易的库?
解密功能:
Public Shared Function Decrypt(ByVal Data() As Byte, ByVal Privatekey As String) As RSAResult
Try
Dim RSA As System.Security.Cryptography.RSACryptoServiceProvider = New System.Security.Cryptography.RSACryptoServiceProvider()
RSA.FromXmlString(Privatekey)
Dim Result As New RSAResult(RSADecrypt(Data, RSA.ExportParameters(True), False))
Return Result
Catch ex As Exception
Throw New Exception("Decrypt(): " & ex.Message, ex)
End Try
End Function
答案 0 :(得分:0)
您可以使用RRSAParameters structure和RSACryptoServiceProvider's ImportParamaters method。这使您可以创建自己的密钥以使用RSA加密。
对于D,Dp,Dq,Exponent,InverseQ,Modulus,P和Q的定义,我建议查看RSA上的Wikipedia页面进行加密。这包括如何生成密钥以及每个参数的用途。在底部甚至有算法的表示。