allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类 全部分类技术牛文全部分类教程最新 网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava 新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销 开发数据库服务器系统虚拟化云计算 嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

ASP.NET MVC结合JavaScript登录、校验和加密

日期:2016/9/28 14:38:00 来源:本网整理

介绍一下aspen软件答:AspenPlus介绍AspenPlus---生产装置设计、稳态模拟和优化的大型通用流程模拟系统一、概述“如果你不能对你的工艺进行建模,你就不能了解它。如果你不了解它,你就不能改进它。而且,如果你不能改进它,你在21世纪就不会具有竞争力。”----...aspenplus最新软件多少钱答:你是自己用?还是单位用?自己用我给你7.1/7.2,就是传输困难aspen物性数据怎么查找问:在aspen中怎么查看组分的物性数据,比如安托因方程中的ABC,沸点,密...答:1、新建一个Aspen临时文件,选Template与选BlankSimulatio可以;2、选择“PropertyAnalysis”;3、按“N→”继续,Aspen中“N→”表示下一步,设置完当页后点这个按钮就会自动到下一页的设置页面中,以下类似:4、输入标题,随便输入;注意图中红色...


ASP.NETMVC结合JavaScript登录、校验和加密(图2)


ASP.NETMVC结合JavaScript登录、校验和加密(图4)


ASP.NETMVC结合JavaScript登录、校验和加密(图6)


ASP.NETMVC结合JavaScript登录、校验和加密(图8)


ASP.NETMVC结合JavaScript登录、校验和加密(图11)


ASP.NETMVC结合JavaScript登录、校验和加密(图15)

s">

ASP.NET MVC结合JavaScript登录、校验和加密

作者:IClearByte 字体:[增加 减小] 类型:转载 时间:2016-08-15 我要评论 这篇文章主要介绍了ASP.NET MVC结合JavaScript登录、校验和加密的相关资料,需要的朋友可以参考下 ">

最近闲来无事给自己写了家庭财务收支管理系统,也就包含支出管理,收入管理和一些统计功能。

4.a4-x.3a-1.a4-0.x4;&nasp;&nasp;&n...问:4.a4-x.3a-1.a4-0.x4;&nasp;&nasp;&nasp;&nasp;&nasp。防恶意抓取,请查看原文,,真格学网提供内容。

先说登录模块,因为涉及GET和POST请求,这些东西都是能被监控和抓取的所以就考虑这使用RSA加密解密方式传输用户名和密码参数,页面JS如下: 

asp有n个字符,怎么3个字符用空格隔开问:比如:字符串是40000,怎么用asp脚本显示成这样:40000效果。答:str="40000"fori=len(str)to1step-3tstr=tst。防恶意抓取,请查看原文,,真格学网提供内容。

/*需要引入三个JS文件,BigInt.js、RSA.js和Barrett.js,用到cookie则需要引入jquery.cookie.js文件*/ //与后台交互获取公钥 function getPublicKey() { var pubKey = ''; if ($.cookie('publicKey') == null) { $.ajax({ url: "/Account/GetRsaPublicKey", type: "get", contentType: "application/x-www-form-urlencoded; charset=utf-8", async: false, data: {}, dataType: "json", success: function (data) { if (data.Code == 0) { pubKey = data.RsaPublicKey + "," + data.Key; $.cookie('publicKey', pubKey, { expires: 1 / 1440 }); } else { Config.Method.JudgeCode(data, 1); } } }); } else { pubKey = $.cookie('publicKey'); } return pubKey; } //公钥加密用户密码Pwd为RSA加密后参数 function rsaEncrypt(pwd) { var publicKey = getPublicKey(); setMaxDigits(129); var rsaKey = new RSAKeyPair(publicKey.split(",")[0], "", publicKey.split(",")[1]); var pwdRtn = encryptedString(rsaKey, pwd); return pwdRtn + "," + publicKey.split(",")[2]; } //POST登录请求,参数 <script type="text/javascript"> $(function () { $('#btnSubmit').live('click', function () { var uName = $('#u').val(); var pwd = $('#p').val(); if (uName == '') { alert('用户名不能为空'); return; } if (pwd == '') { alert('用户密码不能为空'); return; } var enPwd = rsaEncrypt(pwd); $.ajax({ type: "POST", url: "/Account/UserLogin", data: { 'UserName': uName, 'Pwd': enPwd.split(",")[0], 'Key': enPwd.split(",")[1], 'RUrl': $('#hiddenUrl').val() }, contentType: "application/x-www-form-urlencoded; charset=utf-8", async: false, dataType: "json", success: function (data) { if (data.result == true) { window.location.href = data.url; return false; } else { $('#msg').text(data.message); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { $('#msg').text(XMLHttpRequest.status + '||' + XMLHttpRequest.readyState + '||' + textStatus); } }); }); }) </script>

天冬氨酸Asn,N与Asp,D的区别?问:Asparagines(AsnN)Asparticacid(AspD)劳烦解释的简洁一点//但是也...答:Asparagines:天冬酰胺,简写为Asn,单字母简写为NAsparticacid:天冬氨酸,简写为Asp,单字母简写为D天冬氨酸R基上的羟基被氨基取代就成为天冬酰胺。。防恶意抓取,请查看原文,,真格学网提供内容。

前台加密完成后就需要后台做解密处理,解密完成后需要使用MD5加密现有密码与数据库中用户密码进行比较验证,如果验证通过则需要写入cookie以便下次用户能自   动登录,由于cookie中我不希望用户名和密码都明码存储,我这里用到了AES加密的方式,自定义一个32位的加密密钥对cookie进行加密解密处理,后台c#代码如  下: 

asp中的dim是什么?问:例如dimn这个是给n定义吗,什么定义!答:声明后,该页的变量都要用dim定义,这段语句强制声明变量如果没有这句声明,就可以个不用dim定义,直接拿来用建议每页都强制声明变量,这是个好习惯。。防恶意抓取,请查看原文,,真格学网提供内容。

[HttpPost] public JsonResult UserLogin(string UserName, string Pwd, string Key, string RUrl) { string privateKey = Common.CacheGet(Key) as string; if (!string.IsNullOrEmpty(privateKey)) { if (string.IsNullOrEmpty(UserName)) { return Json(new { result = false, message = "用户名为空" }, JsonRequestBehavior.AllowGet); } if (string.IsNullOrEmpty(Pwd)) { return Json(new { result = false, message = "用户密码为空" }, JsonRequestBehavior.AllowGet); } string pwd = Common.DecryptRSA(Pwd, privateKey);//私钥解密 string md5Pwd = Common.NoneEncrypt(Common.NoneEncrypt(Common.NoneEncrypt(pwd, 1), 1), 1);//将解密后的值md5加密3次 AccountUnserInfo userInfo = bll.GetUserInfo(UserName.Trim(), md5Pwd); if (userInfo != null && userInfo.U_Id > 0)//用户信息存在 { //用户名、密码放入cookie HttpCookie cookie = new HttpCookie("fw_izz"); //AES加密Cookie cookie["u_name"] = AesEncryptHelper.EncryptAes(UserName); cookie["u_pwd"] = AesEncryptHelper.EncryptAes(pwd); cookie.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(cookie); if (!string.IsNullOrEmpty(RUrl))//接收隐藏域中的值 { return Json(new { result = true, message = "成功", url = RUrl }); } else { return Json(new { result = true, message = "成功", url = "/AccountDetail/Index" }); } } else { return Json(new { result = false, message = "用户信息不存在", url = "/Account/Index" }); } } else { return Json(new { result = false, message = "非法秘钥", url = "/Account/Index" }); } }

win7旗舰版64位,安装sql2005时出现ASP.Net版本...答:没有什么问题,跳过就是,通常可以使用.也可以安装两个版本,采用兼容方式运行。防恶意抓取,请查看原文,,真格学网提供内容。

各种加密解密方法、Cache操作以及cookie操作代码如下:  

asp.net中\r\n是何意,\r及\n分别是何意答:\r是跳转到下一行的起始位置\n是另起一行。防恶意抓取,请查看原文,,真格学网提供内容。

public class Common { /// <summary> /// 产生一组RSA公钥、私钥 /// </summary> /// <returns></returns> public static Dictionary<string, string> CreateRsaKeyPair() { var keyPair = new Dictionary<string, string>(); var rsaProvider = new RSACryptoServiceProvider(1024); RSAParameters parameter = rsaProvider.ExportParameters(true); keyPair.Add("PUBLIC", BytesToHexString(parameter.Exponent) + "," + BytesToHexString(parameter.Modulus)); keyPair.Add("PRIVATE", rsaProvider.ToXmlString(true)); return keyPair; } /// <summary> /// RSA解密字符串 /// </summary> /// <param name="encryptData">密文</param> /// <param name="privateKey">私钥</param> /// <returns>明文</returns> public static string DecryptRSA(string encryptData, string privateKey) { string decryptData = ""; try { var provider = new RSACryptoServiceProvider(); provider.FromXmlString(privateKey); byte[] result = provider.Decrypt(HexStringToBytes(encryptData), false); ASCIIEncoding enc = new ASCIIEncoding(); decryptData = enc.GetString(result); } catch (Exception e) { throw new Exception("RSA解密出错!", e); } return decryptData; } private static string BytesToHexString(byte[] input) { StringBuilder hexString = new StringBuilder(64); for (int i = 0; i < input.Length; i++) { hexString.Append(String.Format("{0:X2}", input[i])); } return hexString.ToString(); } public static byte[] HexStringToBytes(string hex) { if (hex.Length == 0) { return new byte[] { 0 }; } if (hex.Length % 2 == 1) { hex = "0" + hex; } byte[] result = new byte[hex.Length / 2]; for (int i = 0; i < hex.Length / 2; i++) { result[i] = byte.Parse(hex.Substring(2 * i, 2), System.Globalization.NumberStyles.AllowHexSpecifier); } return result; } private static ObjectCache Cache { get { return MemoryCache.Default; } } /// <summary> /// 获取缓存 /// </summary> /// <param name="key"></param> /// <returns></returns> public static object CacheGet(string key) { return Cache[key]; } /// <summary> /// 设置缓存 /// </summary> /// <param name="key"></param> /// <param name="data"></param> /// <param name="cacheTime"></param> public static void CacheSet(string key, object data, int cacheTime) { CacheItemPolicy policy = new CacheItemPolicy(); policy.AbsoluteExpiration = DateTime.Now + TimeSpan.FromMinutes(cacheTime); Cache.Add(new CacheItem(key, data), policy); } /// <summary> /// 判断缓存是否存在 /// </summary> /// <param name="key"></param> /// <returns></returns> public static bool IsSet(string key) { return (Cache[key] != null); } /// <summary> /// 缓存失效 /// </summary> /// <param name="key"></param> public static void CacheRemove(string key) { Cache.Remove(key); } /// <summary> /// 对字符串进行加密(不可逆) /// </summary> /// <param name="Password">要加密的字符串</param> /// <param name="Format">加密方式,0 is SHA1,1 is MD5</param> /// <returns></returns> public static string NoneEncrypt(string Password, int Format) { string strResult = ""; switch (Format) { case 0: strResult = FormsAuthentication.HashPasswordForStoringInConfigFile(Password, "SHA1"); break; case 1: strResult = FormsAuthentication.HashPasswordForStoringInConfigFile(Password, "MD5"); break; default: strResult = Password; break; } return strResult; } }

asp.netMVC包含ioc吗不包含ioc,你自己可以加入ioc框架。mvc目前比较简单用用castle吧~虽然目前处境比较尴尬但是还是比较强悍的。防恶意抓取,请查看原文,,真格学网提供内容。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持突袭网。

asp.netmvc为什么有个?Length=4如何去掉?这个问题很简单!问题描述清楚点,length表示长度,length=4;应该是条件限制。防恶意抓取,请查看原文,,真格学网提供内容。

怎么在ASP里写N的X次方答:是计算N的X次方还是,显示出N的X次方???显示的话:X4计算的话:4.a4-x.3a-1.a4-0.x4;&nasp;&nasp;&n...问:4.a4-x.3a-1.a4-0.x4;&nasp;&nasp;&nasp;&nasp;&nasp;&nasp;&nasp;&nas...答:h.9h-h.99-8.9h-6.hh=(h.9h-8.9h)-(h.99+6.hh)=9-h.9=6.hasp有n个字符,怎么3个字符用空格隔开问:比如:字符串是40000,怎么用asp脚本显示成这样:40000效果。答:str="40000"fori=len(str)to1step-3tstr=tstr&mid(str,i,3)&"$$$"nextarrstr=split(str,"$$$")forn=lbound(arrstr)toubound(arrstr)response.writearrstr(n)&""next

  • 本文相关:
  • ASP.NET MVC5网站开发之网站设置(九)
  • .Net MVC网站中配置文件的读写
  • ASP.NET MVC5网站开发之总体概述(一)
  • ASP.NET MVC5网站开发之实现数据存储层功能(三)
  • ASP.NET MVC5网站开发之业务逻辑层的架构和基本功能 (四)
  • ASP.NET MVC5网站开发之展示层架构(五)
  • ASP.NET MVC5网站开发之登录、验证和注销管理员篇1(六)
  • ASP.NET MVC5网站开发之添加\删除\重置密码\修改密码\列表浏览管理员篇2(六)
  • ASP.NET MVC5网站开发之用户角色的后台管理1(七)
  • ASP.NET MVC5网站开发之用户添加和浏览2(七)
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved