MD5加密在用户注册时和用户登陆时怎么用?还有效验接收的文件时的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MD5加密在用户注册时和用户登陆时怎么用?还有效验接收的文件时的问题相关的知识,希望对你有一定的参考价值。

1、用户在注册时把注册信息发送到服务端,然后服务端进行MD5加密,这个加密具体是
什么样子的?是把每个信息(密码,用户名,地址,手机号等等)分别加密么?那存到
数据库中的信息是加密之后的么?那这个加密的目的是不是为了防止数据库被黑?
2、用户在登录时输入的密码是没有加密的,那么服务端获取之后如何与数据库中加密了
的密码作对比呢?
3、还有看别的技术贴说一个人发送文件给另一个人会附带一个MD5的效验码,但是如果被中间截取了,在发送一个木马程序加新生成的MD5效验码的话,那这个MD5岂不是没有作用?
请指点迷津

第一个问题:数据传输到服务器端,是每个数据分开加密的,加密后的密文保存到数据库,这样做的好处是别人即使得到了数据无法识别,保证了数据的安全,但我们一般加密数据是不用MD5的,因为MD5加密是不可逆的,比如手机号码加密了,那你系统怎么读取呢?再者MD5加密现在并不安全,已经可以破解。所以像这类信息我们一般采用DES对称加密或者RSA非对称加密,这样加密数据是可逆的,而且也比MD5加密要安全,可以去了解一下

第二个问题:如果你的密码是MD5加密的,那么你登录的时候,后台拿到前端得到的密码,就会把这个密码用MD5加密,然后再跟数据库的密文进行比较。如果你用的是可逆的加密,检验密码的方式可能不一样。

第三个问题:每个文件都有唯一的MD5校验码,如果MD5校验码对不上,说明不是这个文件。但像你说的这种情况,文件和MD5校验码都被人截取了,那有可能发生像你所说的,但一般发送文件是连续的数据流,一般情况下是比较难全部截取的,当然还有其他方法去提高安全性,比如加密传输等等
参考技术A

    MD5加密是不可逆转的,就是加密之后不能还原的,但是相同的原文加密会得到相同的密文,其他数据如果只是用来验证而不需要显示的话也可以用MD5加密保存,如果需要显示就要用其他的可逆加密方法,其他的加密方法没有MD5安全

    2.注册时把账号密码加密之后保存到服务器数据库,在登录的时候把输入的账号密码也用MD5加密,把得到的密文与服务器保存的密文对比,一样的就能登录

    附带一个MD5的效验码就是为了防止别人用木马程序替换了,每个原文经过MD5加密之后得到密文几乎不可能相同

免登陆:保存登录页面的用户名密码,用md5对密码加密保存

function setCookie(name,value,time)

{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
 
function getsec(str)
{
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
setCookie("name","hayden","s20");
 
//当选中3天之内免登陆时。
setCookie("phone",myPhone,3);
//对密码进行加密,需要引入jQuery和md5.js
$.md5(myPwd);
 
 
//引入的md5.js代码
 

以上是关于MD5加密在用户注册时和用户登陆时怎么用?还有效验接收的文件时的问题的主要内容,如果未能解决你的问题,请参考以下文章

access数据库里面的用户名用MD5加密怎么样来解密?

免登陆:保存登录页面的用户名密码,用md5对密码加密保存

C#ASP.NET MD5加密

Dreamweaver+asp+access 会员注册与登陆的MD5加密如何实现,懂的人教下,要教程,注册和登陆时的调用。

MD5加密是啥?一般用在啥地方?有用嘛?

登录系统中密码用MD5加密有何作用?防谁呢?