用C#实现如下的php代码 <?php $passwd = "secret"; $md5hash = base64_encode(pack( 'H*',md5("$passwd"))); printf("%s/n",$md5hash); ?> C#代码 private byte[] stringToByteArray(string hexString) { hexString = hexString.Replace(" ", ""); if ((hexString.Length % 2) != 0) hexString += " "; byte[] returnBytes = new byte[hexString.Length / 2]; for (int i = 0; i < returnBytes.Length; i++) returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16); return returnBytes; } public string Change(string strRes) { strRes = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strRes, "MD5"); strRes = Convert.ToBase64String(stringToByteArray(strRes)); return strRes; } Byte数组转换为十六进制字符串的方法: //方法1 public static string ByteArrayToString(byte[] ba) { StringBuilder hex = new StringBuilder(ba.Length * 2); foreach (byte b in ba) hex.AppendFormat("{0:x2}", b); return hex.ToString(); } //方法2: public static string ByteArrayToString(byte[] ba) { string hex = BitConverter.ToString(ba); return hex.Replace("-",""); }