密码进行md5加密 原理分析:加密就是存进数据库的时候变成MD5存进去,解密,就是对比的时候,将用户输入的密码转换成MD5和数据库里面的对比。;
1、我们先来看hash算法:我们可以通过 crypto.createHash() 来创建一个Hash实例。我们可以利用以下算法来创建hash实例
-
md5
-
sha1
-
sha256
-
sha512
-
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
- 1
- 2
使用cdn
- 1
- 2
引入
- 1
- 2
使用
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8