You can use DSA and RSA, for example:
Using System;
Using System. Text;
Using System. Security. Cryptography;
Class dsacrypto_SignData {
Public static void Main (String [] args ){
// Convert the string to a byte array, which is related to encoding.
String str = "this is a test .";
Byte [] bytes = Encoding. ASCII. GetBytes (str );
// Select the signature method, including RSA and DSA
DSACryptoServiceProvider dsac = new DSACryptoServiceProvider ();
Byte [] sign = dsac. SignData (bytes );
// Sign is the signature result.
// The following is the Authentication
DSACryptoServiceProvider dsac2 = new DSACryptoServiceProvider ();
Dsac2.FromXmlString (dsac. ToXmlString (false ));
Bool ver = dsac2.VerifyData (bytes, sign );
If (ver ){
Console. WriteLine ("passed ");
} Else {
Console. WriteLine ("cannot pass ");
}
}
}
RSA is similar, but RSA is much slower than DSA, but safer than DSA. RSA can select the size of the keyword, the larger the security