微信小程序使用crypto-js

这篇具有很好参考价值的文章主要介绍了微信小程序使用crypto-js。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

还是那个没有任何开发意义的小程序!!!这次的要求我就有点看不懂了,这是公司在日本出差的大佬写的接口,平时交流发在群里的文档全他喵是英文的,这让我连四级都没考过的怎么看的懂呢(是真的“没考过”),所以菜不是没有道理的。

在此之前大致搜索了一下xxhashjs与crypto-js的区别:

  1. 功能:

    • xxhashjs:xxhashjs是一个用于计算哈希的库,它实现了XXHash算法。XXHash是一种非加密哈希算法,用于生成数据的校验和。它通常用于快速的哈希计算,例如在数据验证、数据完整性检查等场景下。
    • crypto-js:crypto-js是一个广泛用于加密和解密操作的库。它支持多种加密算法,包括AES、DES、HMAC等,在数据保护、加密通信、密码学等领域有很多应用。
  2. 算法:

    • xxhashjs:xxhashjs实现了XXHash算法,这是一种非加密哈希算法。XXHash是一种快速的哈希算法,适用于大规模数据的哈希计算。
    • crypto-js:crypto-js实现了多种加密算法,包括对称加密算法(如AES、DES)、哈希算法(如MD5、SHA)、消息认证码算法(如HMAC)等。
  3. 应用场景:

    • xxhashjs:xxhashjs适用于需要快速计算数据哈希值的场景,例如数据校验、数据完整性检查等。
    • crypto-js:crypto-js适用于需要进行加密、解密和哈希计算的场景,例如加密通信、数据保护、密码学运算等。
  4. 库大小和性能:

    • xxhashjs:由于xxhashjs只实现了单一算法,所以它的库大小相对较小。它被设计为非常高效,能够在处理大规模数据时提供快速的哈希计算。
    • crypto-js:由于crypto-js实现了多种算法,所以它的库大小相对较大。它提供了更多的加密选项,但在某些特定场景下可能会比较慢。

综上所述,xxhashjs和crypto-js是两个不同的JavaScript库,用于不同的功能需求。使用xxhashjs可以进行快速哈希计算,而crypto-js则提供了更多的加密和哈希选项。选择使用哪个库取决于你的具体需求和使用场景。

crypto-js开始

老样子在项目所在的位置打开终端输入,如果已经安装过一起的库,就直接在命令行输入以下命令,不然就先执行npm init后再执行以下命令:

npm install crypto-js

安装完成要记得构建npm:工具–>构建npm 

crypto-js引入

const CryptoJS  = require('crypto-js')

crypto-js使用

 这里补充一下CryptoJS.SHA256、CryptoJS.SHA1、CryptoJS.MD5:

  1. CryptoJS.SHA256代表SHA-256算法,它是Secure Hash Algorithm 2(SHA-2)系列中的一种。SHA-256是一种密码学哈希函数,它将输入数据转换为固定长度(256位)的哈希值。

  2. CryptoJS.SHA1代表SHA-1算法,它是Secure Hash Algorithm 1(SHA-1)的简称。SHA-1也是一种密码学哈希函数,将输入数据转换为160位的哈希值。然而,由于SHA-1的安全性已经被证明容易受到碰撞攻击的影响,因此在一些安全敏感的场景中,建议使用更强大和安全的哈希算法,如SHA-256。

  3. CryptoJS.MD5代表MD5(Message Digest Algorithm 5),它是一种广泛使用的哈希算法。MD5将输入数据转换为128位的哈希值。然而,MD5也被发现存在严重的碰撞漏洞,因此在安全性要求较高的场景中不建议使用它。

// 在选择图片的事件处理函数中调用计算哈希值的方法
chooseImage() {
  wx.chooseMedia({
    count: 1,
    mediaType: ['image'],
    success: (res) => {
      const tempFilePath = res.tempFiles[0].tempFilePath;
      this.calculateFileHash(tempFilePath);
    }
  });
},

// 计算文件哈希值的方法
calculateFileHash(filePath) {
  wx.getFileSystemManager().readFile({
    filePath: filePath,
    success: (res) => {
      const fileData = res.data;
      const hash = CryptoJS.SHA256(CryptoJS.lib.WordArray.create(fileData));
      const hashResult = hash.toString(CryptoJS.enc.Hex);
      console.log('文件哈希值:', hashResult);
    },
    fail: (err) => {
      console.error('读取文件失败:', err);
    }
  });
}

在上面的代码中,chooseImage方法用于选择图片文件并调用calculateFileHash方法进行哈希值计算。calculateFileHash方法通过wx.getFileSystemManager().readFile函数读取选择的图片文件的二进制数据,并使用CryptoJS.SHA256函数计算哈希值,然后使用toString方法将哈希值转换为十六进制字符串形式。

请注意,上述代码使用了SHA-256算法计算哈希值,生成的结果是256位(64个字符的十六进制字符串),而不是64位哈希值。如果你需要获取64位哈希值,你可以选择更短的哈希算法,例如SHA-1或MD5。你只需要将CryptoJS.SHA256替换为CryptoJS.SHA1CryptoJS.MD5即可。文章来源地址https://www.toymoban.com/news/detail-742755.html

到了这里,关于微信小程序使用crypto-js的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】微信小程序tabBar使用中不显示问题

    目录 微信小程序中tabBar配置 tabBar配置好以后不显示的解决方法 微信小程序中下方的tabBar如何配置很多刚刚接触小程序的同学,有些懵。这里给你一个详细的配置文档: 小程序配置 | 微信开放文档 具体配置代码如下: tabBar:是我们指定了内部配置为小程序的tabBar, list:则

    2024年02月09日
    浏览(35)
  • 原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件

    在这里插入图片描述 操作顺序 :文档地址 如果使用 typescript 需要操作步骤3,否则不需要操作 2.1 在根目录下 操作 2.2 安装版本 2.3 构建包 - 详情-勾选使用 npm 2.4 使用 vant 组件

    2024年02月11日
    浏览(46)
  • 微信小程序文本组件text使用详解-微信小程序系统学习攻略​

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好。 在微信小程序中,组件 text 用来显示文本,基本使用代码如下: 1 基本样式设置 基本使用还是比较简单的,下面咱们来论述一下文本样式的设置,首先是给他设置一个 class 然后在对应的 wxss 文件中编写

    2023年04月13日
    浏览(35)
  • 微信小程序基础使用

    微信小程序文件类型 微信小程序主要提供了 4 种文件类型: 类型名称 作用 是否必须存在 .wxml 用于页面的布局结构,相当于网页中 .html 文件 是 .wxss 用于页面的样式,相当于网页中的 .css 文件 否 .js 用于页面的逻辑 是 .json 用于页面的配置 否 文件作用 文件名 作用 是否必须

    2024年02月09日
    浏览(24)
  • 微信小程序:模板使用

    目录 模板的优点: 一、静态模板创建 二、静态模板使用 1.*.wxml引入模板  2.模板使用  3.*.wxss引入模板的样式  三、动态模板创建 四、动态模板使用 1.*.wxml引入模板 2.模板使用 3.*.js定义动态数据 五、结果展示 总结 有利于保持网页风格的一致;提高工作效率。 减少代码的复

    2024年02月12日
    浏览(32)
  • 修复微信小程序获取头像的bug,微信小程序新版头像API使用

    接着我之前发布的一篇文章:微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)_盒子猫君的博客-CSDN博客 今天我就来解决掉之前的问题吧! 从之前的后台报错来看,获取到的tempFilePath值和avatarUrl的值相同,都是http://tmp,不过头像都已经上传成

    2024年02月07日
    浏览(30)
  • “编辑微信小程序与后台数据交互与微信小程序wxs的使用“

    在现代移动应用开发中,微信小程序已经成为了一个非常流行和广泛使用的平台。为了使小程序能够展示丰富的内容和实现复杂的功能,与后台数据的交互是至关重要的。同时,微信小程序还提供了一种特殊的脚本语言——wxs,用于增强小程序的业务逻辑处理能力。本篇博客

    2024年02月08日
    浏览(39)
  • 微信小程序 使用全局变量

    微信小程序里面有个 app.js ,我们可以在这个里面设置全局变量, 全局变量的定义:  globalData: {         userInfo: null,         tempFilePathslist: []     }  全局变量的获取: 在 app.js 文件中,直接使用,如: var gettempFilePathslist = this.globalData.tempFilePathslist 在 其他非app

    2024年02月02日
    浏览(34)
  • 微信小程序的使用教程

    一,首先我们要去安装一个微信开发者工具 微信开发者工具下载 二,注册一个微信小程序(生成ID) 注册链接 注册好之我们打开开发管理——开发设置——复制App的ID 三,打开微信开发者工具 按图示填写完整之后,我们点击确定,这样你就创建好了一个小程序的项目,接下

    2024年02月09日
    浏览(28)
  • 微信小程序基本使用流程

    微信小程序官方文档 调接口 建议封装后使用,原生方法太繁琐 添加页面 右键-新建Page-输入页面名称会自动生成四个文件 底部 tab 要在 app.json 中的 pages 中添加组件路径 在 tarBar 中的list中 pagePath (配置路径,在pages中要有!!!) text (显示文字) iconPat (当点击时它显示的图标

    2024年02月06日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包