using System.Security.Cryptography;
public static void Main()
var text = "HashKey=m77FPILf84NGRBYY&AllPayLogisticsID=28705941&BookingNote=&CVSPaymentNo=&CVSValidationNo=&GoodsAmount=782&LogisticsSubType=UNIMART&LogisticsType=CVS&MerchantID=2000132&MerchantTradeNo=N202302259563&ReceiverAddress=&ReceiverCellPhone=0960511765&ReceiverEmail=a0960511765@gmail.com&ReceiverName=龔真誼&ReceiverPhone=886-960511765&RtnCode=2074&RtnMsg=消費者七天未取件&UpdateStatusDate=2023/02/27 05:45:37&HashIV=aX3yiDbdC97rxp2E";
var encodedString = HttpUtility.UrlEncode(text).ToLower();
using (var md5 = MD5.Create())
hashedByteArray = md5.ComputeHash(Encoding.UTF8.GetBytes(encodedString));
var stringBuilder = new StringBuilder();
foreach (var @byte in hashedByteArray)
stringBuilder.Append(@byte.ToString("X2"));
var hexString = stringBuilder.ToString();
Console.WriteLine(hexString.ToUpper());