使用crypto生成md5码的时候报“Digest already called”

最近node层写一个接口的时候,想做安全校验,访问的时候加token,然后就想到使用crypto库,先加密一串字符串,然后再次加密,如下所示:

const md5 = crypto.createHash('md5');
const a = md5.update('12345').digest('hex');
const b = md5.update(`${a}6789`).digest('hex');

但是发现报了下面这个错:


image.png

原来是一个crypto实例只能调用digest一次,所以想用两次的话,必须实例化两个实例:

const md51 = crypto.createHash('md5');
const a = md51.update('12345').digest('hex');
const md52 = crypto.createHash('md5');
const b = md52.update(`${a}6789`).digest('hex');

看着好繁琐啊,我只要加一次就得实例化一次
然后发现还有一个库md5也可以直接使用,比这个方便也简单多了

const a = md5('12345');
const b = md5(`${a}6789`)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,465评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,165评论 1 32
  • 这里先简单介绍单向散列函数、消息摘要和哈希碰撞的的概念 单向散列函数: 将任意长度的信息转换为较短的固定长度的值,...
    坤_7a1e阅读 3,559评论 0 0
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,860评论 0 6
  • Node基本 node的最大特性莫过于基于事件驱动的非阻塞I/O模型。 node通过事件驱动的方式处理请求,无须为...
    AkaTBS阅读 2,259评论 0 11