① web开发中几种弹出窗口
刚接触asp.net的时候,经常在弹出窗口这地方犯迷糊,曾经遇到过一篇文章号称大牛应用winform里的MessageBox.Show(); 以为就能解决问题了,可是使用这种方法只能再服务器端弹出,在客户端就不那么灵了!
随着自己做项目经验不断的积累,慢慢找到了几种解决方案,现把其中经常使用的两种解决方案奉献给大家。
第一种也使最简单的一种,使用C#中的response.write() 输出一个javascript脚本
Response.Write("<script>alert('保存失败!!!')</script>");
Response.Write(ex.Message+ex.StackTrace);
这种方法有一缺点就是,在对话框没确定之前整个页面是空白的,就是说输出的javascript代码在整个文档的最前端、也最先被执行了。
第二种方法是在你要执行的代码航中输出javascript脚本,这种方法就不会出现空白页的问题。
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('删除失败')", true);
在项目中灵活运用
<%=后天的属性%>
<%# Eval('')%>
<%# bind('')%>
•MD5算法是一种散列(hash)算法(计算摘要,指纹算法),不是一种加密算法(易错)。任何长度的任意内容都可以用MD5计算出散列值。介绍工具:
CalcMD5.zip。
•MD5算法不可逆,也就是只能得到内容对应的MD5值,无法由MD5值反推内容
•Password字段保存用户输入密码的MD5值,这样系统管理员、黑客也不知道用户的密码是什么,也就避免了用户的其他系统密码被利用的问题(很多人不同的系统密码一样)。这就是为什么很多网站只有密码重置,没有找回原密码功能了。
•判断密码正确性的方法:计算用户输入的密码的MD5值,与数据库存储的MD5值进行比较,如果相等则认为密码正确。
•计算文件的MD5值来检验文件没有被篡改过。
http://hi.baidu.com/9422e/blog/item/b6a7cb870d91513466096e65.html
•MD5算法理论上是不可逆的,因此攻击的唯一办法就是碰撞。两个不同的内容生成相同的MD5值,这就叫碰撞。MD5算法的碰撞概率非常小。找到一个内容虽然不同但是产生同样MD5的内容即可。
public static string GetMD5(string sDataIn)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytValue, bytHash;
bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
bytHash = md5.ComputeHash(bytValue);
md5.Clear();
string sTemp = "";
for (int i = 0; i < bytHash.Length; i++)
{
sTemp += bytHash[i].ToString("X").PadLeft(2, '0');
}
return sTemp.ToLower();
}