说明:"admin888"正确的加密结果应为:7FEF6171469E80D32C0559F88B377245
错误的代码:
Regex.Replace("http://www.mzwu.com/?key={md5:admin888}", @"{md5:(\w+)}", System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("$1", "MD5"))返回的结果为:http://www.mzwu.com/?key=06D3730EFC83058F497D3D44F2F364E3
分析:加密比替换先执行,上边的执行过程实际上先将"$1"加密成"06D3730EFC83058F497D3D44F2F364E3",再用它替换"{md5:admin888}",而不是先将"$1"替换成"admin888"再加密之后替换。正确的代码为:
Match match = Regex.Match("http://www.mzwu.com/?key={md5:admin888}", @"{md5:([\w=&]+)}");
if (match.Success)
{
Response.Write(Regex.Replace("http://www.mzwu.com/?key={md5:admin888}", @"{md5:([\w=&]+)}", System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(match.Groups[1].ToString(), "MD5")));
}
评论(0)
暂无评论。