如果需要解密码就得用对称加密方法。在.NET库的System.Security.Cryptography命名空间中,有有RC2、DES、TripleDES和Rijndael四种对称加密方法,可选用
你在传入数据库前把密码转换为md5,在注册界面上就转换,不过现在md5也不保密,在百度上一查就能反译出来,所以一般转换为md5后再把其中的一些数字或字母替换为别的字母,这样即使别人进入数据库里也不能把加密又替换后的密文改换为明文了,这种规则只要你自己知道就行public class People{public int id{setget}
public string name {setget}
public string pwd{setget}
}
首先 Inherits="System.Web.Mvc.ViewPage<People>
<%using (Html.BeginForm()) {%>
<%=Html.TextBox("id", Model.id, new { style="display:none"})%>
<%=Html.TextBox("name", Model.name)%>
<%=Html.Password("pwd", Model.pwd)%>
<input type="submit" value="提交"/>
<%}%>
[HttpPost]
public ActionResult Index([Bind(Include = "name,pwd")]FormCollection data){
var name = data["name"]
var pwd = data["pwd"]
//判断
//用MD5给pwd加密 可以写个拓展方法
var pwd = pwd.ToMd5()
//存入并用try catch包裹
//提示成功或失败
Request.Write("<script>alert('成功或失败')</script>")
return null
}
public static string ToMd5(this string input){
MD5 md5 = new MD5CryptoServiceProvider()
DES des = new DESCryptoServiceProvider()
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length)
String returnThis = ""
for (int i = 0i <res.Lengthi++)
{
returnThis += System.Uri.HexEscape((char)res[i])
}
returnThis = returnThis.Replace("%", "")
returnThis = returnThis.ToLower()
return returnThis
}
最后:
一般的信息加密都是值用ssl 的https站点的通行加密这只要买了ssl的证书在iis中配置就好了
一般代码中的加密要做是把类似密码这样的安全信息做md5加密
判断时只要取出值 然后把判断值同样用md5加密即可
以上提供MVC的一般开发代码希望对您有帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)