在微信小程序使用sha256加密的问题记录

 在微信小程序中使用npm安装第三方依赖包有相关的操作步骤,直接贴上官方指引:

https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html#_2-%E6%9E%84%E5%BB%BA-npm

首先我们先执行了安装包命令 npm i sha256 -S

然后在开发工具进行构建,就发现项目中使用报错了:

报错截图

一顿百度,发现其实是sha256在内部引用了crypto包,而crypto包是node环境的,在小程序不可用;可以看下该问题的官方解答:https://developers.weixin.qq.com/community/develop/doc/0000c415e1c51045c76a03f425b000

出错的原因是找到了,那就会疑惑为什么呢,就去看sha256的npm包,然后看到包的package.json文件的main入口文件竟然是nodecrypto.js


sha256包的入口文件

既然lib下有两个文件,还没有什么关系,是不是就是一个是引用crypto,一个就是自己实现的呢;

然后就翻sha256的使用说明,可以看到,上面有讲如果node被检测到,就会使用crypto,不会再实现一次;

sha256的使用说明

node被检测到,不知道是不是就是检测到我们安装了node.js,这个目前还是猜测;

好了,回到上面的问题,sha256有自己的实现文件,那我们肯定是可以使用的;我的做法就是修改了sha256包的package.json文件的main的入口文件地址为 

"main": "./lib/sha256.js",然后我们再到开发工具中执行一次构建npm,会发现报错就没了,就可以愉快的使用sha256了;

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

推荐阅读更多精彩内容