南非共和国(Republic of South Africa)私钥总是包含公钥,还是只是。网
Does RSA Private key always contain the Public key, or is it just .NET
回答一
私钥总是包括公钥。
你可能真正想要的是签名。用同样的. NET类,您可以用您的私钥对数据进行签名,并用公钥(显然不包含私钥)验证另一方的签名。
公共静态字符串符号(字符串数据,字符串私有和公共)
{
字节[]数据字节=编码. UTF8。GetBytes(数据);
RSACryptoServiceProvider提供程序=CreateProviderFromKey(PrivateAndPublickey);
字节[]符号字节=提供程序。签名数据(数据字节,“SHA1”);
返回转换.到base64字符串(signatureBytes);
}
公共静态弯曲件验证(字符串数据、字符串签名、字符串公钥)
{
字节[]数据字节=编码. UTF8。GetBytes(数据);
字节[]符号字节=转换FromBase64String(签名);
RSACryptoServiceProvider提供程序=CreateProviderFromKey(公钥);
返回提供程序。验证数据(数据字节,' SHA1 ',签名字节);
}
私有静态RSA crypto service provider CreateProviderFromKey(字符串密钥)
{
RSA crypto serviceprovider=new RSA crypto serviceprovider();
提供商FromXmlString(键);
返回提供者;
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/139153.html