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

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

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

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

第三个问题:每个文件都有唯一的MD5校验码,如果MD5校验码对不上,说明不是这个文件。但像你说的这种情况,文件和MD5校验码都被人截取了,那有可能发生像你所说的,但一般发送文件是连续的数据流,一般情况下是比较难全部截取的,当然还有其他方法去提高安全性,比如加密传输等等
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-30

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

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

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

相似回答