Lam*_*lex 4 .net cryptography rsa
根据RSA类的MSDN文档,有两种RSA.Create()方法.一个默认实现,一个采用字符串参数"algName".我无法在任何地方找到任何使用RSA.Create(String)版本的示例.
所以我的问题是:参数"algName"通常包含什么?可以使用哪些算法?或者我在哪里可以找到有效算法名称的信息?
你可以放任何你喜欢的东西,但我认为你需要自己实施.RSA.NET框架中只有一种算法实现,即开箱即用,即RSACryptoServiceProvider.http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.aspx
该Create(String)方法继承自AsymmetricAlgorithm,您可以将相当多的值传递给该方法,请参阅http://msdn.microsoft.com/en-us/library/bf2t8ayw.aspx以获取完整列表...
.NET加密API的各种Create方法适用于machine.config文件和System.Security.Cryptography.CryptoConfig类型.
它允许使用它们的应用程序使用机器配置的算法实现(因此使用machine.config).例如
RSA rsa = RSA.Create ();
Run Code Online (Sandbox Code Playgroud)
默认情况下(在machine.config中没有任何内容)创建一个RSACryptoServiceProvider.现在,如果您修改machine.config,您的应用程序可能会返回给您一个RSAManaged实例(例如,通过将其配置为使用Mono.Security.dll).这对于允许应用程序选择特定实现(例如FIPS-140认证)或HSM(硬件安全模块)非常有用 - 即无需重新编译应用程序以支持它们!
回到原始的Create(字符串),此方法允许您选择要使用的实现.它只是调用CryptoConfig.CreateFromName(string)并将结果强制转换为RSA实例,在本例中.
如果您想确保使用特定的实现(例如RSAManaged),即使没有将应用程序链接到特定程序集(例如Mono.Security.dll),这也很有用.
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |