📄 asymmetricread.aspx
字号:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<script language="C#" runat=server>
byte[] Convert2ByteArray(string strInput)
{
int intCounter;
char[] arrChar;
arrChar = strInput.ToCharArray();
byte[] arrByte = new byte[arrChar.Length];
for (intCounter=0; intCounter <= arrByte.Length-1; intCounter++)
arrByte[intCounter] = Convert.ToByte(arrChar[intCounter]);
return arrByte;
}
byte[] ConvertHexArray( string strInput )
{
int intCounter;
string[] arrString;
arrString = strInput.Split('-');
byte[] arrByte = new byte[arrString.Length - 1];
for ( intCounter = 0; intCounter <= arrByte.Length - 1; intCounter++)
{
arrByte[intCounter] = byte.Parse( arrString[intCounter], NumberStyles.HexNumber );
}
return arrByte;
}
void Button_Click( object s, EventArgs e ) {
byte[] arrInput;
DSACryptoServiceProvider objDSA;
string strPublicKey;
byte[] arrDigitalSignature;
arrInput = Convert2ByteArray( txtInput.Text );
arrDigitalSignature = ConvertHexArray( txtSignature.Text );
objDSA = new DSACryptoServiceProvider();
objDSA.FromXmlString( txtPublicKey.Text );
lblVerify.Text = objDSA.VerifyData( arrInput, arrDigitalSignature ).ToString();
}
</Script>
<html>
<head><title>AsymmetricRead.aspx</title></head>
<body>
<H2>Verify Digital Signature</h2>
<form Runat="Server">
Message:
<br>
<asp:TextBox
ID="txtInput"
TextMode="Multiline"
Columns="60"
Rows="3"
Runat="Server" />
<p>
Digital Signature:
<br>
<asp:TextBox
ID="txtSignature"
TextMode="Multiline"
Columns="60"
Rows="4"
Runat="Server" />
<p>
Public Key:
<br>
<asp:TextBox
ID="txtPublicKey"
TextMode="Multiline"
Columns="60"
Rows="10"
Runat="Server" />
<p>
<asp:Button
Text="Verify Signature!"
OnClick="Button_Click"
Runat="Server" />
<p>
Verified?
<br>
<asp:Label
ID="lblVerify"
Runat="Server" />
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -