CryptoConfig Class
Assembly: mscorlib (in mscorlib.dll)
The following table shows the simple names recognized by this class and the default algorithm implementations to which they map. Alternatively, you can map other implementations to these names, as described in Mapping Algorithm Names to Cryptography Classes.
.
| Simple Name | Algorithm Implementation |
|---|---|
| SHA | |
| SHA1 | SHA1CryptoServiceProvider |
| System.Security.Cryptography.SHA1 | SHA1CryptoServiceProvider |
| System.Security.Cryptography.HashAlgorithm | SHA1CryptoServiceProvider |
| MD5 | |
| System.Security.Cryptography.MD5 | MD5CryptoServiceProvider |
| SHA256 | |
| SHA-256 | SHA256Managed |
| System.Security.Cryptography.SHA256 | SHA256Managed |
| SHA384 | |
| SHA-384 | SHA384Managed |
| System.Security.Cryptography.SHA384 | SHA384Managed |
| SHA512 | |
| SHA-512 | SHA512Managed |
| System.Security.Cryptography.SHA512 | SHA512Managed |
| RSA | |
| System.Security.Cryptography.RSA | RSACryptoServiceProvider |
| System.Security.Cryptography.AsymmetricAlgorithm | RSACryptoServiceProvider |
| DSA | |
| System.Security.Cryptography.DSA | DSACryptoServiceProvider |
| DES | |
| System.Security.Cryptography.DES | DESCryptoServiceProvider |
| 3DES | |
| TripleDES | TripleDESCryptoServiceProvider |
| Triple DES | TripleDESCryptoServiceProvider |
| System.Security.Cryptography.TripleDES | TripleDESCryptoServiceProvider |
| System.Security.Cryptography.SymmetricAlgorithm | TripleDESCryptoServiceProvider |
| RC2 | |
| System.Security.Cryptography.RC2 | RC2CryptoServiceProvider |
| Rijndael | |
| System.Security.Cryptography.Rijndael | RijndaelManaged |
The following code example demonstrates how to use members of the CryptoConfig class.
using System; using System.Security.Cryptography; class Members { static void Main(string[] args) { // Create a CryptoConfig object to store configuration information. CryptoConfig cryptoConfig = new CryptoConfig(); // Retrieve the class path for CryptoConfig. string classDescription = cryptoConfig.ToString(); // Create a new SHA1 provider. SHA1CryptoServiceProvider SHA1alg = (SHA1CryptoServiceProvider)CryptoConfig.CreateFromName("SHA1"); // Create an RSAParameters with the TestContainer key container. CspParameters parameters = new CspParameters(); parameters.KeyContainerName = "TestContainer"; Object[] argsArray = new Object[] {parameters}; // Instantiate the RSA provider instance accessing the TestContainer // key container. RSACryptoServiceProvider rsaProvider = (RSACryptoServiceProvider) CryptoConfig.CreateFromName("RSA",argsArray); // Use the MapNameToOID method to get an object identifier // (OID) from the string name of the SHA1 algorithm. string sha1Oid = CryptoConfig.MapNameToOID("SHA1"); // Encode the specified object identifier. byte[] encodedMessage = CryptoConfig.EncodeOID(sha1Oid); // Display the results to the console. Console.WriteLine("** " + classDescription + " **"); Console.WriteLine("Created an RSA provider " + "with a KeyContainerName called " + parameters.KeyContainerName + "."); Console.WriteLine("Object identifier from the SHA1 name:" + sha1Oid); Console.WriteLine("The object identifier encoded: " + System.Text.Encoding.ASCII.GetString(encodedMessage)); Console.WriteLine("This sample completed successfully; " + "press Enter to exit."); Console.ReadLine(); } } // // This sample produces the following output: // // ** System.Security.Cryptography.CryptoConfig ** // Created an RSA provider with a KeyContainerName called TestContainer. // Object identifier from the SHA1 name:1.3.14.3.2.26 // The object identifier encoded: HH*((*H9 // This sample completed successfully; press Enter to exit.
import System.*;
import System.Security.Cryptography.*;
class Members
{
public static void main(String[] args)
{
// Create a CryptoConfig object to store configuration information.
CryptoConfig cryptoConfig = new CryptoConfig();
// Retrieve the class path for CryptoConfig.
String classDescription = cryptoConfig.ToString();
// Create a new SHA1 provider.
SHA1CryptoServiceProvider sha1Alg = (SHA1CryptoServiceProvider)
CryptoConfig.CreateFromName("SHA1");
// Create an RSAParameters with the TestContainer key container.
CspParameters parameters = new CspParameters();
parameters.KeyContainerName = "TestContainer";
Object argsArray[] = new Object[] { parameters };
// Instantiate the RSA provider instance accessing the TestContainer
// key container.
RSACryptoServiceProvider rsaProvider = (RSACryptoServiceProvider)
CryptoConfig.CreateFromName("RSA", argsArray);
// Use the MapNameToOID method to get an object identifier
// (OID) from the string name of the SHA1 algorithm.
String sha1Oid = CryptoConfig.MapNameToOID("SHA1");
// Encode the specified object identifier.
ubyte encodedMessage[] = CryptoConfig.EncodeOID(sha1Oid);
// Display the results to the console.
Console.WriteLine("** " + classDescription + " **");
Console.WriteLine("Created an RSA provider "
+ "with a KeyContainerName called "
+ parameters.KeyContainerName + ".");
Console.WriteLine("Object identifier from the SHA1 name:" + sha1Oid);
Console.WriteLine("The object identifier encoded: "
+ System.Text.Encoding.get_ASCII().GetString(encodedMessage));
Console.WriteLine("This sample completed successfully; "
+ "press Enter to exit.");
Console.ReadLine();
} //main
} //Members
//
// This sample produces the following output:
//
// ** System.Security.Cryptography.CryptoConfig **
// Created an RSA provider with a KeyContainerName called TestContainer.
// Object identifier from the SHA1 name:1.3.14.3.2.26
// The object identifier encoded: HH*((*H9
// This sample completed successfully; press Enter to exit.
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.Reference
CryptoConfig MembersSystem.Security.Cryptography Namespace