导读:
//首先将字符串转换为字节数组,这与编码有关
string str=textBox1.Text;
byte[] bytes = Encoding.ASCII.GetBytes(str);
//选择签名方式,如:RSA和DSA
DSACryptoServiceProvider dsac = new DSACryptoServiceProvider();
byte[] sign = dsac.SignData( bytes );
ASCIIEncoding encoding = new ASCIIEncoding( );
textBox2.Text = encoding.GetString( bytes );
ASCIIEncoding encoding2 = new ASCIIEncoding( );
textBox3.Text = encoding.GetString( sign );
//sign 便是出来的签名结果
//进行认证
DSACryptoServiceProvider dsac2 = new DSACryptoServiceProvider();
dsac2.FromXmlString(dsac.ToXmlString(false));
bool ver = dsac2.VerifyData( bytes ,sign);
if(ver)
{
MessageBox.Show("Pass!");
}
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1581079
本文转自
http://blog.youkuaiyun.com/ozeroo/archive/2007/04/24/1581079.aspx
//首先将字符串转换为字节数组,这与编码有关
string str=textBox1.Text;
byte[] bytes = Encoding.ASCII.GetBytes(str);
//选择签名方式,如:RSA和DSA
DSACryptoServiceProvider dsac = new DSACryptoServiceProvider();
byte[] sign = dsac.SignData( bytes );
ASCIIEncoding encoding = new ASCIIEncoding( );
textBox2.Text = encoding.GetString( bytes );
ASCIIEncoding encoding2 = new ASCIIEncoding( );
textBox3.Text = encoding.GetString( sign );
//sign 便是出来的签名结果
//进行认证
DSACryptoServiceProvider dsac2 = new DSACryptoServiceProvider();
dsac2.FromXmlString(dsac.ToXmlString(false));
bool ver = dsac2.VerifyData( bytes ,sign);
if(ver)
{
MessageBox.Show("Pass!");
}
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1581079
本文转自
http://blog.youkuaiyun.com/ozeroo/archive/2007/04/24/1581079.aspx
数字签名与验证
1840

被折叠的 条评论
为什么被折叠?



