asp.net中md5加密实现代码

 代码如下 复制代码

public class FormatStr
{
#region MD5加密
/// <summary>
/// MD5加密操作
/// </summary>
/// <param name="str">加密的字符串</param>
/// <returns></returns>
public static string MD5(string str) { 
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
#endregion 

#region 去除HTML标记
/// <summary>
/// 去除HTML标记
/// </summary>
/// <param name="NoHTML">包括HTML的源码 </param>
/// <returns>已经去除后的文字</returns>
public static string NoHTML(string Htmlstring)
{
//删除脚本
Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([rn])[s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", """, RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "xa1", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "xa2", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "xa3", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "xa9", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&#(d+);", "", RegexOptions.IgnoreCase);

Htmlstring.Replace("<", "");
Htmlstring.Replace(">", "");
Htmlstring.Replace("rn", "");
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

return Htmlstring;
}
#endregion 

#region 去除非法字串
/// <summary>
/// 去除非法字串
/// </summary>
/// <param name="strChar">原字串</param>
/// <returns>过滤过的字串</returns>
public static string ReplaceBadChar(string strChar)
{
if (strChar.Trim() == "")
{
return "";
}
else
{
strChar = strChar.Replace("'", "");
strChar = strChar.Replace("*", "");
strChar = strChar.Replace("?", "");
strChar = strChar.Replace("(", "");
strChar = strChar.Replace(")", "");
strChar = strChar.Replace("<", "");
strChar = strChar.Replace("=", "");
return strChar.Trim();
}
}
#endregion

#region 检察是否都是数字
/// <summary>
/// 检察是否都是数字
/// </summary>
/// <param name="str">要检查的字串</param>
/// <returns>bool</returns>
public static bool IsNumeric(string str)
{
Regex reg = new Regex(@"^[+]?d*$");
return reg.IsMatch(str);
}
#endregion

#region 检察是否正确的Email格式
/// <summary>
/// 检察是否正确的Email格式
/// </summary>
/// <param name="str">要检查的字串</param>
/// <returns>bool</returns>
public static bool IsEmail(string str)
{
Regex reg = new Regex(@"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$");
return reg.IsMatch(str);
}
#endregion

#region 检察是否正确的日期格式
/// <summary>
/// 检察是否正确的日期格式
/// </summary>
/// <param name="str">要检查的字串</param>
/// <returns>bool</returns>
public static bool IsDate(string str)
{
//考虑到了4年一度的366天,还有特殊的2月的日期
Regex reg = new Regex(@"^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[0-5]?d:[0-5]?d$");
return reg.IsMatch(str);
}
#endregion

#region HTML转换为字符串
/// <summary>
/// HTML转换为字符串,转换标识
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string htmToStr(string str)
{
return str.Replace("'", "mySQ;").Replace(""", "myDQ;").Replace("<", "myLt;").Replace(">", "myGt;").Replace("-", "myMl;").Replace("_", "myBl;").Replace("%", "myBs;").Replace("?", "myQe;").Replace("*", "myAl;");
}
#endregion

#region 字符串转换为HTML
/// <summary>
/// 字符串转换为HTML,将还原标识
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string strToHtm(string str)
{
if (str == null) return "";
return str.Replace("mySQ;", "'").Replace("myDQ;", """).Replace("myLt;", "<").Replace("myGt;", ">").Replace("myMl;", "-").Replace("myBl;", "_").Replace("myBs;", "%").Replace("myQe;", "?").Replace("myAl;", "*");
}
#endregion

#region 文本转换为HTML
/// <summary>
/// 文本转换为HTML,更换(n)
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string textToHtm(string str)
{
return str.Replace("t", " ").Replace("<", "<").Replace(">", ">").Replace(" ", " ").Replace("rn", "<br>").Replace("n", "<br>");
}
#endregion

#region 文本转换为输入框内容
/// <summary>
/// 文本转换为输入框内容,
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string HtmToInputValue(string str)
{
//return str.Replace("<","<").Replace(">",">").Replace(""",""").Replace("&","&");
return str.Replace(""", """);
}
#endregion

#region 防Sql注入攻击
/// <summary>
/// 防Sql注入攻击
/// </summary>
/// <param name="strQueryName"></param>
/// <returns></returns>
public static string getQueryString(string strQueryName)
{
//(')(--)(or )(=)
System.Web.HttpRequest myRequest = System.Web.HttpContext.Current.Request;
string str1 = myRequest.QueryString[strQueryName];
if (str1 == null) return "";
str1 = str1.Replace("'", "’").Replace("--", "—").Replace("=", "=").Replace("or", "o r").Replace("Or", "O r").Replace("OR", "O R").Replace("oR", "o R").Replace(">", "〉").Replace("<", "〈");
return str1;
}
#endregion

#region 防Sql注入攻击
/// <summary>
/// 防Sql注入攻击
/// </summary>
/// <param name="strQueryName"></param>
/// <returns></returns>
public static string getSQLString(string strQueryName)
{
if (strQueryName == null) return "";
strQueryName = strQueryName.Replace("'", "’").Replace("--", "—").Replace("=", "=").Replace("or", "o r").Replace("Or", "O r").Replace("OR", "O R").Replace("oR", "o R").Replace(">", "〉").Replace("<", "〈");
return strQueryName;
}
#endregion
}

时间: 2024-09-25 00:57:00

asp.net中md5加密实现代码的相关文章

asp.net实现md5加密

 MD5加密简单的说就是把一段明文 通过某种运算方式 求出密文.例如:明文为:abcdefg 通过一些列运算 得到 密文 7ac66c0f148de9519b8bd264312c4d64   它具有两个特性:1.无碰撞,2.不可逆.   无碰撞是指: 7ac66c0f148de9519b8bd264312c4d64 这段密文 只能由 abcdefg 这段明文得到,除此之外其他的 明文加密后 其值 绝对不会等于 7ac66c0f148de9519b8bd264312c4d64,也就是说 没有那两个

asp.net实现md5加密_实用技巧

MD5加密简单的说就是把一段明文 通过某种运算方式 求出密文.例如:明文为:abcdefg 通过一些列运算 得到 密文 7ac66c0f148de9519b8bd264312c4d64 它具有两个特性:1.无碰撞,2.不可逆. 无碰撞是指: 7ac66c0f148de9519b8bd264312c4d64 这段密文 只能由 abcdefg 这段明文得到,除此之外其他的 明文加密后 其值 绝对不会等于 7ac66c0f148de9519b8bd264312c4d64,也就是说 没有那两个明文 加密

ASP.NET中MD5与SHA1加密的几种方法_实用技巧

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

ASP.NET中MD5和SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

ASP.NET中MD5与SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

asp.net中MD5 16位和32位加密函数_实用技巧

public string md5(string str,int code)   {    if(code==16) //16位MD5加密(取32位加密的9~25字符)    {     return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;    }     else//32位加密    {     

ASP下使用md5加密注册信息

加密 制作登陆行为时可能需要用到MD5加密用户密码,使用ASP实现这个功能比其他语言稍微麻烦一点,但是也是可行的. 核心代码: <%PrivateConstBITS_TO_A_BYTE=8PrivateConstBYTES_TO_A_WORD=4PrivateConstBITS_TO_A_WORD=32 Privatem_lOnBits(30)Privatem_l2Power(30) PrivateFunctionLShift(lValue,iShiftBits) IfiShiftBits=0T

asp实现的sha1加密解密代码(和C#兼容)_应用技巧

在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s

asp实现的sha1加密解密代码(和C#兼容)

在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s