md5加密 原理 js 前后端使用

密码进行md5加密 原理分析:加密就是存进数据库的时候变成MD5存进去,解密,就是对比的时候,将用户输入的密码转换成MD5和数据库里面的对比。;

1、我们先来看hash算法:我们可以通过 crypto.createHash() 来创建一个Hash实例。我们可以利用以下算法来创建hash实例

  1. md5

  2. sha1

  3. sha256

  4. sha512

  5. ripemd160


MD5是最常用的,但是他有一定的碰撞的问题,你可以使用更新的sha1算法。我们看hash的生成方法,代码如下:


这里我们生成了一个md5的hash实例,然后直接运行md5.digest(); 出现了乱码,因为它默认返回的是2进制的数据,然后我们接着 md5.digest(‘hex’); 期望以16进制的形式打印md5值,但是抛出异常了。也就是说一旦md5.digest();这个方法被调用了,hash 对象就被清空了是不能被重用的。当然我们可以利用base64格式打印出md5字符串。

对于hash.update()方法是有记忆功能的,我们看如下代码:

> var sha1 = crypto.createHash('sha1');
> sha1.update('foo');
{}
> sha1.update('bar');
{}
> sha1.digest('hex');
'8843d7f92416211de9ebb963ff4ce28125932878'
> var sha1 = crypto.createHash('sha1');
> sha1.update('foobar');
{}
> sha1.digest('hex');
'8843d7f92416211de9ebb963ff4ce28125932878'
>

这2次sha1加密结果是一样的,也就是说hash.update()方法就是将字符串相加,然后在hash.digest()将字符串加密返回




前后台数据交互的时候,尤其是登录注册的时候MD5加密就用到了。 
在vue中使用MD5加密 
安装: 
使用npm

npm install crypto --save

 
 
  • 1
  • 2

使用cdn

<script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.min.js"></script>

 
 
  • 1
  • 2

引入

import crypto from 'crypto'

 
 
  • 1
  • 2

使用

getmd5(){
            var a;
            var md5 = crypto.createHash("md5");
            md5.update('aaa');
            var a = md5.digest('hex');
            console.log(a);
            //47bce5c74f589f4867dbd57e9ca9f808 
        }
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

http://cnodejs.org/topic/504061d7fef591855112bab5

http://blog.csdn.net/qq_35844177/article/details/70597597

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值