不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
使用Regex.Replace引发的错误
编辑:dnawo 日期:2009-04-09
需求:将字符串"http://www.mzwu.com/?key={md5:admin888}"中的"{md5:admin888}"用"admin888"的MD5加密结果替换。
说明:"admin888"正确的加密结果应为:7FEF6171469E80D32C0559F88B377245
错误的代码:
返回的结果为:http://www.mzwu.com/?key=06D3730EFC83058F497D3D44F2F364E3
分析:加密比替换先执行,上边的执行过程实际上先将"$1"加密成"06D3730EFC83058F497D3D44F2F364E3",再用它替换"{md5:admin888}",而不是先将"$1"替换成"admin888"再加密之后替换。正确的代码为:
说明:"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")));
}
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 | 引用: 0 | 查看次数: 3618
发表评论
请登录后再发表评论!