DSASignatureFormatter.SetHashAlgorithm メソッド
デジタル署名アルゴリズム (DSA) 署名フォーマッタのハッシュ アルゴリズムを指定します。
Overrides Public Sub SetHashAlgorithm( _
ByVal strName As String _)
[C#]
public override void SetHashAlgorithm(stringstrName);
[C++]
public: void SetHashAlgorithm(String* strName);
[JScript]
public override function SetHashAlgorithm(
strName : String);
パラメータ
- strName
署名フォーマッタで使用するハッシュ アルゴリズムの名前。
例外
例外の種類 | 条件 |
---|---|
CryptographicUnexpectedOperationException | strName パラメータが、 SHA1 ハッシュ アルゴリズムに割り当てられません。 |
使用例
Imports System
Imports System.Security.Cryptography
_
Class DSASample
Shared Sub Main()
Try
'Create a new instance of DSACryptoServiceProvider.
Dim DSA As New DSACryptoServiceProvider()
'The hash to sign.
Dim Hash As Byte() = {59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135}
'Create an DSASignatureFormatter object and pass it the
'DSACryptoServiceProvider to transfer the key information.
Dim DSAFormatter As New DSASignatureFormatter(DSA)
'Set the hash algorithm to SHA1.
DSAFormatter.SetHashAlgorithm("SHA1")
'Create a signature for HashValue and return it.
Dim SignedHash As Byte() = DSAFormatter.CreateSignature(Hash)
Catch e As CryptographicException
Console.WriteLine(e.Message)
End Try
End Sub
End Class
[C#]
using System;
using System.Security.Cryptography;
class DSASample
{
static void Main()
{
try
{
//Create a new instance of DSACryptoServiceProvider.
DSACryptoServiceProvider DSA = new DSACryptoServiceProvider();
//The hash to sign.
byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};
//Create an DSASignatureFormatter object and pass it the
//DSACryptoServiceProvider to transfer the key information.
DSASignatureFormatter DSAFormatter = new DSASignatureFormatter(DSA);
//Set the hash algorithm to SHA1.
DSAFormatter.SetHashAlgorithm("SHA1");
//Create a signature for HashValue and return it.
byte[] SignedHash = DSAFormatter.CreateSignature(Hash);
}
catch(CryptographicException e)
{
Console.WriteLine(e.Message);
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.dll>
using namespace System;
using namespace System::Security::Cryptography;
void main() {
try {
//Create a new instance of DSACryptoServiceProvider.
DSACryptoServiceProvider* DSA = new DSACryptoServiceProvider();
//The hash to sign.
Byte Hash[] = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};
//Create an DSASignatureFormatter Object* and pass it the
//DSACryptoServiceProvider to transfer the key information.
DSASignatureFormatter* DSAFormatter = new DSASignatureFormatter(DSA);
//Set the hash algorithm to SHA1.
DSAFormatter->SetHashAlgorithm(S"SHA1");
//Create a signature for HashValue and return it.
Byte SignedHash[] = DSAFormatter->CreateSignature(Hash);
} catch (CryptographicException* e) {
Console::WriteLine(e->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
DSASignatureFormatter クラス | DSASignatureFormatter メンバ | System.Security.Cryptography 名前空間 | 暗号サービス