画了差不多半个月的考评系统的原型图,昨天终于得到用户的认可,原型图设计的思想是无微不至、全心全意的想到你的用户,这是无极限的。废话不多说,继续做新闻发布系统的登陆页,在做的过程中对于密码的安全性有了新的认识。
上篇博文已经对验证码做了了解并实现,验证码可以防止恶意破解密码,但是密码也需要增强自身的防御功能,所以在做登陆界面的时候用了MD5(又译摘要算法、哈希算法)进行加密,以期能够保证用户的数据安全。
U层:
导入命名空间:using System.Web.Security;
//把密码转为MD5码的形式
pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5");
B层:
public class LoginManager
{
/// <summary>
/// 用户是否登陆成功
/// </summary>
/// <param name="name">用户名</param>
/// <param name="pwd">密码</param>
/// <returns></returns>
public static bool Login(string name, string pwd)
{
bool flag = false;
if (("admin" == name) && ("E10ADC3949BA59ABBE56E057F20F883E" == pwd))
{
flag = true;
}
return flag;
}
当然,这只能保证密码不是以明码的方式出现在程序代码里,只能是在一定程度上增加了安全性。
对于密码学知之甚少,记得前两年在看民国史的时候,对于书中的池步洲先生印象尤为深刻,那时是抗日战争的阶段,如果破译了日本密电码,就等于在前方增加了十几万大军,那时被池步洲先生的钻研精神、大胆的假设精神以及做出的成果感到吃惊。