VB.net如何使用RSA加密私钥

时间:2014-02-23 20:29:44

标签: vb.net cryptography rsa

我一直尝试使用我的私有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

1 个答案:

答案 0 :(得分:0)

您可以使用RRSAParameters structureRSACryptoServiceProvider's ImportParamaters method。这使您可以创建自己的密钥以使用RSA加密。

对于D,Dp,Dq,Exponent,InverseQ,Modulus,P和Q的定义,我建议查看RSA上的Wikipedia页面进行加密。这包括如何生成密钥以及每个参数的用途。在底部甚至有算法的表示。

相关问题