110,535
社区成员
发帖
与我相关
我的任务
分享
public static string signData(string sdata)
{
byte[] data = Encoding.UTF8.GetBytes(sdata);
priRSA = new RSACryptoServiceProvider();
priRSA.FromXmlString(NET_PRIVATE_KEY);
byte[] endata = priRSA.SignData(data, "SHA1");
return Convert.ToBase64String(endata);
}
String sdata = "0600001|5115013356|150|张三|1|1.0";
String sSigndata = signData(sdata)
sHtml += "<input type=\"text\" name=\"signature\" value=\"" + sSigndata+ "\"/> ";
public static string get_uft8(string unicodeString)
{
1.
UTF8Encoding utf8 = new UTF8Encoding();
Byte[] encodedBytes = utf8.GetBytes(unicodeString);
String decodedString = utf8.GetString(encodedBytes);
return decodedString;
2.
//byte[] buffer = Encoding.UTF8.GetBytes(unicodeString);
//return Encoding.GetEncoding("utf-8").GetString(buffer);
3.
//byte[] buffer1 = Encoding.Default.GetBytes(unicodeString);
//byte[] buffer2 = Encoding.Convert(Encoding.Default, Encoding.UTF8, buffer1, 0, buffer1.Length);
//return Encoding.Default.GetString(buffer2, 0, buffer2.Length);
}
public static bool verifySignature(string signature, string signedData)
{
byte[] sign = Convert.FromBase64String(signature);
return verify(sign, signedData);
}
public static bool verify(byte[] signature, string signedData)
{
try
{
pubRSA = new RSACryptoServiceProvider();
pubRSA.FromXmlString(NET_PUBLIC_KEY);
//byte[] hash = Convert.FromBase64String(signedData);
byte[] hash = Encoding.UTF8.GetBytes(signedData);
if (pubRSA.VerifyData(hash, "SHA1", signature))
{
return true;
}
else
{
//Console.WriteLine("The signature is not valid.");
return false;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return false;
}
}
UTF8Encoding utf8 = new UTF8Encoding(false);
Byte[] encodedBytes = utf8.GetBytes(unicodeString);
String decodedString = utf8.GetString(encodedBytes);
return decodedString;
UTF8Encoding utf8 = new UTF8Encoding(false);