【发布时间】:2019-10-03 23:46:46
【问题描述】:
当我深入研究 .Net 源代码时,我找不到调用 rsa.Encrypt 时实际运行的代码,可能它正在 DLL 中运行代码,因为我找不到方法被覆盖的位置
请您指出函数 rsa.Encrypt 的源代码或解释它在此处加密字节数组的作用(保持每个值 0>255)
我已经尝试深入研究 .net 源代码
https://referencesource.microsoft.com/#mscorlib/system/security/cryptography/rsa.cs
我试图单步调试代码(它只是跳过而不单步进入)
我试图了解 RSA 如何加密数字,同时将它们保持在整数环内(即 0>255)
public byte[] Encrypt(string publicKeyXML, string dataToEncript)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(publicKeyXML);
return rsa.Encrypt(ASCIIEncoding.ASCII.GetBytes(dataToEncript), true);
}
我希望 .net 源可以浏览到被覆盖函数的源代码
【问题讨论】:
-
我无法理解您所说的“0>255”是什么意思。这不是标准的数学符号。你能澄清一下吗?
-
您使用什么版本的 Visual Studio 来调试代码?这些调试说明 (referencesource.microsoft.com/setup.html) 适用于 Visual Studio 2013,但我认为它们也应该适用于更高版本的 VS。需要设置以下调试选项:仅禁用我的代码、禁用跨属性和运算符、禁用要求源文件与原始版本完全匹配、启用 .NET 框架源单步执行、启用源服务器支持
-
Visual Studio 2015
标签: c# cryptography rsa