当前位置:编程学习 > C#/ASP.NET >>

对登录的密码进行本地加密再传递

对登录的密码进行本地加密再传递

密码已经通过MD5加过密的,但是测试专家说有漏洞,要求对登陆的密码进行本地加密再传递
请问有哪位知道怎样做? --------------------编程问答-------------------- 你可以用DES配合密钥进行加密和解密
加密解密的KEY需要统一。
#region DES加密解密        /// <summary>        /// DES加密        /// </summary>        /// <param name="strSource">待加密字串</param>        /// <param name="key">32位Key值</param>        /// <returns>加密后的字符串</returns>        public string DESEncrypt(string strSource)        {            return DESEncrypt(strSource, DESKey);        }        public string DESEncrypt(string strSource, byte[] key)        {            SymmetricAlgorithm sa = Rijndael.Create();            sa.Key = key;            sa.Mode = CipherMode.ECB;            sa.Padding = PaddingMode.Zeros;            MemoryStream ms = new MemoryStream();            CryptoStream cs = new CryptoStream(ms, sa.CreateEncryptor(), CryptoStreamMode.Write);            byte[] byt = Encoding.Unicode.GetBytes(strSource);            cs.Write(byt, 0, byt.Length);            cs.FlushFinalBlock();            cs.Close();            return Convert.ToBase64String(ms.ToArray());        }        /// <summary>        /// DES解密        /// </summary>        /// <param name="strSource">待解密的字串</param>        /// <param name="key">32位Key值</param>        /// <returns>解密后的字符串</returns>        public string DESDecrypt(string strSource)        {            return DESDecrypt(strSource, DESKey);        }        public string DESDecrypt(string strSource, byte[] key)        {            SymmetricAlgorithm sa = Rijndael.Create();            sa.Key = key;            sa.Mode = CipherMode.ECB;            sa.Padding = PaddingMode.Zeros;            ICryptoTransform ct = sa.CreateDecryptor();            byte[] byt = Convert.FromBase64String(strSource);            MemoryStream ms = new MemoryStream(byt);            CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Read);            StreamReader sr = new StreamReader(cs, Encoding.Unicode);            return sr.ReadToEnd();        }        #endregion
--------------------编程问答-------------------- 话说你登录密码不也是MD5加密后才验证的么。 --------------------编程问答-------------------- 登录时是不是把 用户名和密码 都“明文”的往后台传? --------------------编程问答-------------------- 我MD5加密后,再加一些干扰嘛,传的时候,两密码加密对比 --------------------编程问答--------------------
引用 3 楼 coobai 的回复:
登录时是不是把 用户名和密码 都“明文”的往后台传?

是的 --------------------编程问答--------------------
引用 5 楼 zym7511 的回复:
Quote: 引用 3 楼 coobai 的回复:

登录时是不是把 用户名和密码 都“明文”的往后台传?

是的


那你加密一下往服务器传咯, 因为有些软件是可以截获你传输的数据信息,如果你明文传送账号和密码,有可能会导致账号密码泄漏问题。。。 --------------------编程问答--------------------
“测试专家”  有没有告诉你他是怎么 挖出这个漏洞的?
有没有给你提供 “砖家的建议”!
--------------------编程问答--------------------
引用 7 楼 fengyarongaa 的回复:
“测试专家”  有没有告诉你他是怎么 挖出这个漏洞的?
有没有给你提供 “砖家的建议”!

他就说“未加密的登录请求漏洞:对管理员登录的密码进行本地加密再传递。”
建议用“https” --------------------编程问答--------------------
引用 6 楼 coobai 的回复:
Quote: 引用 5 楼 zym7511 的回复:

Quote: 引用 3 楼 coobai 的回复:

登录时是不是把 用户名和密码 都“明文”的往后台传?

是的


那你加密一下往服务器传咯, 因为有些软件是可以截获你传输的数据信息,如果你明文传送账号和密码,有可能会导致账号密码泄漏问题。。。


要怎样加密?用什么方法? --------------------编程问答--------------------
引用 8 楼 zym7511 的回复:
Quote: 引用 7 楼 fengyarongaa 的回复:


“测试专家”  有没有告诉你他是怎么 挖出这个漏洞的?
有没有给你提供 “砖家的建议”!

他就说“未加密的登录请求漏洞:对管理员登录的密码进行本地加密再传递。”
建议用“https”


一般情况下Md5+随机就够了
你网站是做什么的,需要这么高等级加密吗 --------------------编程问答-------------------- 不明白什么叫本地加密
本地加密了还传输什么啊,谁知道你用的什么算法啊
除非统一算法公钥加密
他既然说了https就买一个不久好了 --------------------编程问答-------------------- 从前台获取密码时就加密处理,或者在前端加密之后再传到后台 --------------------编程问答--------------------
引用 12 楼 zhworking 的回复:
从前台获取密码时就加密处理,或者在前端加密之后再传到后台


前台怎么加密?前台加密有用吗?前台的加密行为都是暴露给用户的 --------------------编程问答-------------------- 。。。。 没必要把。 --------------------编程问答-------------------- 你在登录时候对加密后的密码传到后台,数据库里也存的是加密后的,在比较的时候对2个加密串比较 --------------------编程问答-------------------- 测试专家都说要用https了,那就给公司领导说,申请买数字证书。就说测试专家说的。 --------------------编程问答--------------------
引用 16 楼 qq3079530 的回复:
测试专家都说要用https了,那就给公司领导说,申请买数字证书。就说测试专家说的。

推荐 --------------------编程问答--------------------
引用 17 楼 a407121393 的回复:
Quote: 引用 16 楼 qq3079530 的回复:

测试专家都说要用https了,那就给公司领导说,申请买数字证书。就说测试专家说的。

推荐

+1 --------------------编程问答--------------------  本机加密就是  MD5 加密好像是根据 电脑的 密钥 加密的! --------------------编程问答--------------------
引用 6 楼 coobai 的回复:
Quote: 引用 5 楼 zym7511 的回复:

Quote: 引用 3 楼 coobai 的回复:

登录时是不是把 用户名和密码 都“明文”的往后台传?

是的


那你加密一下往服务器传咯, 因为有些软件是可以截获你传输的数据信息,如果你明文传送账号和密码,有可能会导致账号密码泄漏问题。。。

要在什么事件上调用这个加密方法呢? --------------------编程问答--------------------
引用 20 楼 zym7511 的回复:
Quote: 引用 6 楼 coobai 的回复:

Quote: 引用 5 楼 zym7511 的回复:

Quote: 引用 3 楼 coobai 的回复:

登录时是不是把 用户名和密码 都“明文”的往后台传?

是的


那你加密一下往服务器传咯, 因为有些软件是可以截获你传输的数据信息,如果你明文传送账号和密码,有可能会导致账号密码泄漏问题。。。

要在什么事件上调用这个加密方法呢?

我的已经是在登陆按钮的时间上做了MD5加密,然后再与数据库后台加了密的密码做比较 --------------------编程问答--------------------
引用 21 楼 zym7511 的回复:
Quote: 引用 20 楼 zym7511 的回复:

Quote: 引用 6 楼 coobai 的回复:

Quote: 引用 5 楼 zym7511 的回复:

Quote: 引用 3 楼 coobai 的回复:

登录时是不是把 用户名和密码 都“明文”的往后台传?

是的


那你加密一下往服务器传咯, 因为有些软件是可以截获你传输的数据信息,如果你明文传送账号和密码,有可能会导致账号密码泄漏问题。。。

要在什么事件上调用这个加密方法呢?

我的已经是在登陆按钮的时间上做了MD5加密,然后再与数据库后台加了密的密码做比较




void LoginButton_Click()
{
    User.Login(MD5加密(userName),MD5加密(password));
    //调用后台登录方法
}
--------------------编程问答-------------------- 后牛逼的砖家 --------------------编程问答-------------------- 看看CSDN,你输入一个错误的密码,按F12看看他们怎么传输的 
不一样也是明文么。 --------------------编程问答--------------------
引用 24 楼 pengqian098 的回复:
看看CSDN,你输入一个错误的密码,按F12看看他们怎么传输的 
不一样也是明文么。


那只能说明csdn里面没啥值钱的玩意. --------------------编程问答--------------------
引用 25 楼 coobai 的回复:
Quote: 引用 24 楼 pengqian098 的回复:

看看CSDN,你输入一个错误的密码,按F12看看他们怎么传输的 
不一样也是明文么。


那只能说明csdn里面没啥值钱的玩意.


百度呢? --------------------编程问答--------------------
引用 24 楼 pengqian098 的回复:
看看CSDN,你输入一个错误的密码,按F12看看他们怎么传输的 
不一样也是明文么。

那有什么方法不明文传输吗?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,