zoukankan      html  css  js  c++  java
  • Does RSA Private key always contain the Public key, or is it just .NET?

    Does RSA Private key always contain the Public key, or is it just .NET?

    回答1

    The private key always includes the public key.

    What you might really want is Signing. Using the same .NET classes, you can sign data with your private key and verify the signature on the other party's side with the public key (which obviously doesn't contain the private key).

        public static string Sign(string data, string privateAndPublicKey)
        {
            byte[] dataBytes = Encoding.UTF8.GetBytes(data);
            RSACryptoServiceProvider provider = CreateProviderFromKey(privateAndPublicKey);
            byte[] signatureBytes = provider.SignData(dataBytes, "SHA1");
            return Convert.ToBase64String(signatureBytes);
        }
    
        public static bool Verify(string data, string signature, string publicKey)
        {
            byte[] dataBytes = Encoding.UTF8.GetBytes(data);
            byte[] signatureBytes = Convert.FromBase64String(signature);
            RSACryptoServiceProvider provider = CreateProviderFromKey(publicKey);
            return provider.VerifyData(dataBytes, "SHA1", signatureBytes);
        }
    
        private static RSACryptoServiceProvider CreateProviderFromKey(string key)
        {
            RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
            provider.FromXmlString(key);
            return provider;
        }
    
  • 相关阅读:
    UVA 10608 Friends
    UVA 10806 Dijkstra, Dijkstra.
    HDU 3715 Go Deeper
    poj1315
    poj1383
    poj1650
    poj1265
    poj1523
    RedHat9.0虚拟机安装
    注册DirectShow filter时应该注意中文路径
  • 原文地址:https://www.cnblogs.com/chucklu/p/15664651.html