System::Security::Cryptography

Classes

ClassDescription
AsnEncodedDataASN.1-encoded data. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
AsymmetricAlgorithmAbstract base class for asymmetric encryption algorithms. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
AsymmetricSignatureDeformatterBase class for assimetric signature deformatters. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
AsymmetricSignatureFormatterBase class for assimetric signature formatters. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
CryptoStreamStream implementation that wraps existing stream with a cryptographic function. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
CspKeyContainerInfoAdditional information about a cryptographic key pair.
CspParametersParameters of Cryptographic Service Provider. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
DeriveBytesAbstract class from which all classes that derive byte sequences of a specified length inherit. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
Details_CryptographicException
Details_CryptographicUnexpectedOperationException
DSABase class for implementations of DSA algorithm. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
DSACryptoServiceProviderDSA algorithm in CSP form. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
DSASignatureDeformatterUsed for verifying the DSA signatures. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
DSASignatureFormatterUsed to create a DSA signature. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ECDsaBase class for implementations of ECDsa algorithm. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ECDsaBotanECDsa algorithm in Botan form. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
FromBase64TransformConverts the CryptoStream class instance from base 64. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
HashAlgorithmBase class for hashing algorithms. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
HMACAll implementations of Hash-based Message Authentication Code (HMAC) must inherit this abstract class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
HMACSHA1Hash-based Message Authentication Code that uses the SHA1 hash function. Not implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
HMACSHA512Hash-based Message Authentication Code that uses the SHA512 hash function. Partialy implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ICryptoTransformBase class of cryptographic transformer. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ICspAsymmetricAlgorithmAsymmetric algorithm base class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
KeySizesSet of key sizes accepted by symmetric algorithms. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
MD5MD5 hashing algorithm. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
MD5CryptoServiceProviderCSP-compatible MD5 algorithm. Not implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
OidCryptographic object identifier. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RandomNumberGeneratorAbstract class for random number generators to inherit from. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RC2RC2 symmetric algorithm base class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RC2ManagedManaged RC2 algorithm. Only ECB, CFB and CBC cipher modes are supported. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
Rfc2898DeriveBytesImplements password-based key derivation, PBKDF2. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RijndaelBase class for Rijndael algorithm. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RijndaelManagedManaged Rijndael algorithm. Only supports ECB and CFB modes with None padding and CBC mode with None and Zeros paddings. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RIPEMD160Computes RIPEMD160 hash for input data. In C++ RIPEMD160 is not an abstract class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RNGCryptoServiceProviderRadom number generator that follows CSP notion. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RSABase class for implementations of RSA algorithm. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RSACryptoServiceProviderRSA algorithm in CSP form. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RSAEncryptionPaddingPadding mode and parameters for RSA encryption or decryption operations.
RSAPKCS1SignatureDeformatterClass to verify RSA PKCS #1 v1.5 signature. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RSAPKCS1SignatureFormatterSigns data with an RSA PKCS #1 v1.5 signature. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
RSASignaturePaddingPadding mode and parameters for RSA signature creation or verification operations.
SHA1Computes SHA1 hash for input data. In C++ SHA1 is not an abstract class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA1CryptoServiceProviderSHA1 CSP implementation. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA1ManagedManaged SHA1 hasher. Not implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA256Computes SHA256 hash for input data. In C++ SHA256 is not an abstract class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA256ManagedManaged SHA256 hasher. Not implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA384Computes SHA384 hash for input data. In C++ SHA384 is not an abstract class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA384ManagedManaged SHA384 hasher. Not implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA512Computes SHA512 hash for input data. In C++ SHA512 is not an abstract class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SHA512ManagedManaged SHA384 hasher. Not implemented. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SymmetricAlgorithmSymmetric algorithm using same key for encryption and decryption base class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ToBase64TransformConverts the CryptoStream class instance to base 64. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
TripleDESTriple Data Encryption Standard algorithm base class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
TripleDESManagedManaged TripleDES implementation. Only supports ECB and CFB modes with None padding and CBC mode with None, Zeros and PKCS7 paddings. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Structures

StructDescription
DSAParametersData structure of DSA algorithm parameters. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.
ECCurveAn elliptic curve.
ECParametersPublic and private key parameters of an elliptic curve.
ECPointPoint on an elliptic curve.
HashAlgorithmNameString representing the name of a hash algorithm. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.
RSAParametersData structure of RSA algorithm parameters. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.

Functions

FunctionDescription
constexpr bool operator==(std::nullptr_t, const HashAlgorithmName&)
bool operator==(const SharedPtr<RSAEncryptionPadding>&, const SharedPtr<RSAEncryptionPadding>&)
bool operator==(const SharedPtr<RSASignaturePadding>&, const SharedPtr<RSASignaturePadding>&)
constexpr bool operator!=(std::nullptr_t, const HashAlgorithmName&)
bool operator!=(const SharedPtr<RSAEncryptionPadding>&, const SharedPtr<RSAEncryptionPadding>&)
bool operator!=(const SharedPtr<RSASignaturePadding>&, const SharedPtr<RSASignaturePadding>&)
constexpr bool operator<(std::nullptr_t, const HashAlgorithmName&)
constexpr bool operator<=(std::nullptr_t, const HashAlgorithmName&)
constexpr bool operator>(std::nullptr_t, const HashAlgorithmName&)
constexpr bool operator>=(std::nullptr_t, const HashAlgorithmName&)
std::ostream& operator«(std::ostream&, const HashAlgorithmName&)Insert data into the stream using UTF-8 encoding.
std::wostream& operator«(std::wostream&, const HashAlgorithmName&)Insert data into the stream.

Enums

EnumDescription
FromBase64TransformModeSpecifies whether white space should be ignored in the base 64 transformation.
CipherModeBlock cipher mode.
CryptoStreamModeCryptoStream direction.
ECKeyXmlFormatXML format for elliptic curve keys.
KeyNumberKey type.
OidGroupIdentifies Windows OID groups.
PaddingModeDefines how to treat messages that is shorter than block required by crypto operation.s.
RSAEncryptionPaddingModePadding mode used with RSA encryption or decryption operations.
RSASignaturePaddingModePadding mode used with RSA signature creation or verification operations.

Typedefs

TypedefDescription
CryptographicException
CryptographicUnexpectedOperationException