密码进行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

md5加密 原理 js 前后端使用相关推荐

  1. vue+node.js前后端交互中的token令牌验证

    这篇文章分享一下本人学习vue+node.js前后端交互中的登录token令牌的心得 最近准备写一个个人博客网站,前端采用的是vue+element,后端用node.js 在做用户登录的时候就想到 如 ...

  2. MD5加密原理解析及OC版原理实现

    MD5加密原理解析及OC版原理实现 一.MD5算法基础概念 MD5算法是Hash算法的一种,叫做讯息摘要演算法.所谓摘要,从字面意思理解,是指内容的大概.在MD5算法中,这个摘要是指将任意数据映射成一 ...

  3. Vue2+Node.js前后端分离项目部署到云服务器

    本文参考教程: NodeJS项目部署到阿里云ECS服务器全程详解 - 知乎本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细 ...

  4. angular和JAVA实现aes、rsa加密解密,前后端交互,前端加解密和后端JAVA加解密实现

    今天实现了下AES和RSA加密解密,主要的功能是对前后端交互数据进行加密解密,为什么要用到两个算法呢,首先RSA默认的话加密长度是有限的100多个byte吧大约,并且需要公钥私钥,而AES加密没有限制 ...

  5. Vue.js前后端分离2

    个人博客点这里 内容回顾 - 过滤器 - 局部的过滤器 // 只能在当前组件内部使用 filters:function(val,a,b){// 执行过滤处理逻辑,(添油加醋的内容)return xxx ...

  6. python django框架+vue.js前后端分离

    本文用于学习django+vue.js实现web前后端分离协作开发.以一个添加和删除数据库书籍应用为实例. django框架官方地址:www.djangoproject.com/ vue.js 框架官 ...

  7. Ajax+Node.js前后端交互最佳入门实践(01)

    1.Node.js简介 1.0.前后台数据交互流程 在web开发中,我们经常听说前端和后台,他们分别是做什么具体工作的呢?他们怎样交互的呢?我们得把这些基础的问题都搞明白了,才有一个大致的学习方向,首 ...

  8. Md5加密原理及其实现算法

    MD5加密算法: MD5加密算法全称是Message Digest algorithm 5,它是一种不可逆的加密算法,即使知道源码也不能破译秘钥,主要用来验证密码,使用时,首先将密码采用Md5加密,M ...

  9. md5加密原理!!!【转】

    MD5简介 MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来 ...

最新文章

  1. arch linux安装_如何从头开始安装Arch Linux
  2. 走你!Github 开源整合
  3. Linux操作系统下以不同颜色命名的文件类型
  4. 用matlab让高低音频重叠,音频分帧,叠加后仍有不连续
  5. 学完了python能做什么-学完Python能做什么
  6. Facade Pattern
  7. 这个开源项目帮你将Linux命令行一网打尽!
  8. 笔记本自开wifi设置
  9. U3D 通过预置对象实现手动创建精灵
  10. 【学习笔记】JS进阶语法一事件基础
  11. [剑指offer]面试题42:翻转单词顺序 VS左旋转字符串
  12. 32岁被裁补偿N+2:“感谢裁我,让我翻倍!” 网友:求同款被裁!
  13. 输入法全屏_五笔输入法那么方便,为什么败给了拼音?如今,我可算是明白了...
  14. Python学习笔记—— python基础 1. 变量的输出
  15. Excel自动调整行高/行高适应文字内容
  16. 使用人工智能加快海底数据处理-从粗略过滤到精细智能数据筛选
  17. 京牌车辆过户以后车辆保险怎么办?
  18. android+system+disk.vdi,VirtualBox压缩VDI格式硬盘/调整磁盘大小
  19. Unity 程序升级(PC版非热更新)
  20. (人工智障小白之路)keras 使用报错1

热门文章

  1. codevs莫题解搞来的游戏 (题号1000)
  2. 响应式布局 bootstrap栅格系统
  3. anaconda配置python3.5_win10系统下Anaconda3安装配置方法图文教程
  4. flutter 参数函数_Flutter 基本用法摘记
  5. 淘宝ip地址查询接口
  6. VBA批量导入CSV文件、批量改数据标题、批量做数据透视表
  7. Cancer Research:科学家发现来自海藻的L-岩藻糖可激活免疫系统,抑制皮肤癌 | 鹰谷靶点
  8. 【puppet server 7.9】Centos参照官方安装指南部署master和agent (puppet安装)
  9. 【鼓捣树莓派】动态网页控制lcd显示
  10. mongodb启动成功连不上_mongoDB启动服务提示已存在连接的问题