Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【开源三方库】crypto-js加密算法库的使用方法

【开源三方库】crypto-js加密算法库的使用方法

原创
作者头像
小帅聊鸿蒙
发布于 2025-05-09 05:56:21
发布于 2025-05-09 05:56:21
2580
举报
文章被收录于专栏:鸿蒙开发笔记鸿蒙开发笔记

 OpenAtom OpenHarmony(简称“OpenHarmony”)三方库,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony应用。如果是发布到开源社区,称为开源三方库,开发者可以通过访问开源社区获取。接下来我们来了解crypto-js开源三方库。crypto-js是一个加密算法类库,可以非常方便地在前端进行其所支持的加解密操作。目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。

特点

• 安全性和可靠性:crypto-js 实现了经过广泛测试和审查的加密算法,旨在提供安全可靠的加密功能。它采用密码学的最佳实践,并致力于保护数据的安全性和完整性。

• 易于使用的 API:crypto-js 提供了简单易用的 API,使开发人员能够轻松地在 应用程序中执行加密和解密操作。它提供了直观和一致的方法和选项,使加密操作变得更加方便和灵活。

• 多种加密算法支持:crypto-js 支持多种对称加密算法(如 AES、DES)和散列函数(如 MD5、SHA1、SHA256),以及消息认证码(MAC)算法。它提供了一套完整的加密工具,满足不同安全需求。

常用加密算法的使用场景

  • MD5

MD5是一种广泛使用的散列函数。它被用于各种安全应用,也通常用于校验文件的完整性。但MD5不耐碰撞攻击,因此不适用于SSL证书数字签名

  • SHA-1

SHA 散列函数由美国国家安全局 (NSA) 设计。SHA-1 是现有 SHA 散列函数中最成熟的,它用于各种安全应用程序和协议。但随着新攻击的发现或改进,SHA-1 的抗攻击能力一直在减弱。

  • SHA-2

SHA-224、SHA-256、SHA-384,和SHA-512合称为SHA-2。SHA-256是SHA-2集合中的四个变体之一。虽然它提供了更好的安全性,但是它的应用不如SHA-1广泛。SHA-512在很大程度上与SHA-256相同,但在64位计算机上SHA-512比SHA-256更快(因为它们在内部使用64位算术);在8位,16位和32位计算机上,SHA-256比SHA-512更快。

DD一下:欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。
代码语言:erlang
AI代码解释
复制
`欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。`
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.OpenHarmonyUboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......
  • HMAC

HMAC是一种使用加密散列函数进行消息认证的机制,可以与任何迭代密码散列函数结合使用,通常用于消息身份验证,数字签证。

  • PBKDF2

PBKDF2是一个用来对用户口令(password)进行加密的函数。在密码学的许多应用中,用户安全性最终取决于用户口令,由于用户口令通常不能直接用作密钥,因此需要进行一些处理。

  • AES

AES 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用。

  • RC4

RC4算法是Ron Rivest为RSA公司在1987年设计的一种流密码,作为RSA的商业机密直到1994年才被匿名公布于Internet。RC4被用于为网络浏览器和服务器间通信而制定的SSL/TLS(安全套接字协议/传输层安全协议)标准中,以及作为IEEE 801.11无线局域网标准一部分的WEP(Wired Equivalent Privacy)协议和新的WiFi受保护访问协议(WAP)中。从这些应用来看,RC4构成了当今网络通信的非常重要的部分,因此这个算法非常重要。

Demo效果

使用示例

接下来将通过具体实例介绍crypto-js的使用方法与个性化配置。

1. 在项目中安装 crypto-js

安装crypto-js可以全局安装,也可以在模块下安装。全局安装在根目录下执行安装指令,模块安装则在相应的模块下执行安装指令:

代码语言:js
AI代码解释
复制
ohpm  install @ohos/crypto-js

OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包。例如我们在模块下安装,在entry目录下执行安装指令,出现install completed则安装完成:

2.  引入依赖

使用crypto-js需要引入依赖。

代码语言:js
AI代码解释
复制
最新版本支持
  import { CryptoJS } from '@ohos/crypto-js' 或者
  import CryptoJS from '@ohos/crypto-js'

3.使用md5算法

md5信息摘要算法(英语:md5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

md5特点:

1.  不可逆性 --- 根据 MD5 值计算不出原始数据

2.  唯一性 --- 不同原始数据会有不同的 MD5 值

md5算法在本库的使用:

代码语言:js
AI代码解释
复制
//第一步在需要使用到的页面,导入CryptoJS
 import { CryptoJS } from '@ohos/crypto-js'
 //第二步在需要使用到md5的业务逻辑,调用md5算法
 var hash = CryptoJS.MD5("123456") //传参是需要加密的内容,返回值是加密后的数据

4.  使用aes算法

AES算法全称Advanced Encryption Standard,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。AES是对称加密,所以加密解密都需要用到同一个秘钥。AES算法在本库的使用:

代码语言:js
AI代码解释
复制
//第一步在需要使用到的页面,导入CryptoJS
 import { CryptoJS } from '@ohos/crypto-js'
 //第二步定义加密解密需要用到的key
 var key = 'secret key 1234'
 //第三步在需要使用AES加密的业务逻辑,调用AES加密
 var encrypted = CryptoJS.AES.encrypt('hello world', key).toString()  //传参为加密内容及秘钥
 //第四步在需要把上面的加密块解密的业务逻辑,调用AES解密,注意key必须相同
 var decrypted = CryptoJS.AES.decrypt(encrypted, key) //传参为加密后的内容及秘钥

源码地址&ohpm仓地址

以上就是crypto-js的一些基本介绍,更多详情可以前往源码地址或者ohpm仓地址参考crypto-js文档。

写在最后

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力;
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识;
  • 想要获取更多完整鸿蒙最新学习知识点,可关注B站:码牛课堂;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HarmonyOS 开发实践——基于@ohos/crypto-js实现加解密工具箱
@ohos/crypto-js是一个根据crypto-js库移植的 鸿蒙 三方库,适配源库4.2.0版本,提供了一系列加密算法和安全工具,主要用于执行各种消息摘要计算和对称加解密操作。
小帅聊鸿蒙
2024/11/22
2850
【爬虫知识】爬虫常见加密解密算法
本文总结了在爬虫中常见的各种加密算法、编码算法的原理、在 JavaScript 中和 Python 中的基本实现方法,遇到 JS 加密的时候可以快速还原加密过程,有的网站在加密的过程中可能还经过了其他处理,但是大致的方法是一样的。
K哥爬虫
2021/08/03
8.6K0
【爬虫知识】爬虫常见加密解密算法
PHP之AES加密算法
1) 确保都使用MCRYPT_MODE_CBC; 2) 确保明文填充都使用的是Pkcs5; 3) 加密key在AES_128长度必须是16, 24, 或者 32 字节(bytes);如果不够长必须填充,过长必须截取,建议直接md5; 4) 加密向量iv与加密key有同样的约定,但在ECB可以忽略该值(用不到)。 5) 注意加密结果建议都使用base64编码。
php007
2019/08/05
4.4K0
PHP之AES加密算法
常见的加密算法
前端使用开源CryptoJS (crypto.js) 为 JavaScript加密算法,Github地址(https://github.com/brix/crypto-js)。目前已支持的算法包括:
分母为零
2019/07/04
1.8K0
加解密算法分析与应用场景
在日常开发中,无论是使用何种编程语言,我们都会遇到加解密的需求。例如,为了保护接口数据安全,我们需要对数据进行加密传输;在HTTPS协议中,通过非对称加密传输客户端私钥,然后双方使用该私钥进行对称加密通信;使用MD5算法进行文件一致性校验等。然而,面对众多的加解密方案,我们往往不清楚何时使用哪种方法。本文将为您梳理当前主流的加解密技术,并对算法进行科普性说明,但不涉及具体算法分析。根据日常应用场景,加解密技术大致可分为以下四类:
不惑
2024/05/13
6050
加解密算法分析与应用场景
用户名与密码前后加密、后台解密实现方案
随着https的推广,越来越多的网站转到https协议了。但是还是有不少网站没有切换到https,还是使用http。使用http协议的网站,如果没有自己做用户名、密码及敏感信息加密;网络就会明文传输这些数据,如果一些没有用心的人对服务发起攻击,就可能给公司造成损失。
BUG弄潮儿
2020/06/15
5.2K0
用户名与密码前后加密、后台解密实现方案
说一下你常用的加密算法
加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非对称加密。
Java旅途
2020/07/23
1.9K0
crypto-js aes 加解密
前段时间公司做项目,该项目涉及到的敏感数据比较多,经过的一波讨论之后,决定前后端进行接口加密处理,采用的是 AES + BASE64 算法加密~
江一铭
2022/06/17
7.7K0
IT领域常见的加密算法详细解析
对称加密算法使用同一个密钥进行加密和解密。这类算法的特点是加密解密速度快,适用于大量数据的加密,但由于密钥管理问题,通常只在安全信道内或结合非对称加密算法使用。
用户7353950
2024/11/23
2930
IT领域常见的加密算法详细解析
CTF&爬虫:掌握这些特征,一秒识别密文加密方式
爬虫工程师在做加密参数逆向的时候,经常会遇到各种各样的加密算法、编码、混淆,每个算法都有其对应的特征,对于一些较小的网站,往往直接引用这些官方算法,没有进行魔改等其他操作,这种情况下,如果我们能熟悉常见算法的特征,通过密文就能猜测出使用的哪种算法、编码、混淆,将会大大提高工作效率!在 CTF 中通常也会有密码类的题目,掌握一些常见密文特征也是 CTFer 们必备的技能!
K哥爬虫
2022/01/14
3K0
CTF&爬虫:掌握这些特征,一秒识别密文加密方式
常用加密算法解析
今天介绍下工作当中常用的加密算法、分类、应用。 1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 分类 常用的算法有:DES、3DES、AES等。 DES 全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。 3
Java技术栈
2018/03/29
3.2K0
前端攻城狮都要懂的加密算法之总结,一篇文章教你搞懂加密。
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 它要求发送方和接收方在安全通信之前,商定一个密钥。 对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。
江一铭
2022/06/17
1.8K0
前端攻城狮都要懂的加密算法之总结,一篇文章教你搞懂加密。
Postman 如何调试加密接口?
众所周知,Postman 是一款非常流行且易用的 API 调试工具,在接口调试或测试时经常被使用
AirPython
2021/10/13
1.4K0
Postman 如何调试加密接口?
JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现
本文仅仅介绍了常见的一些JS加密,并记录了JS和Python的实现方式 常见的加密算法基本分为这几类: (1)base64编码伪加密 (2)线性散列算法(签名算法)MD5 (3)安全哈希算法 SHAI (4)散列消息鉴别码 HMAC (5)对称性加密算法 AES,DES (6)非对称性加密算法 RSA
EXI-小洲
2022/12/13
4.1K0
JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现
加密算法概述:分类与常见算法
加密算法可以根据不同的标准进行分类,比如根据密钥的使用方式、加密和解密过程是否可逆等。以下是一些主要的分类方式:
公众号:码到三十五
2024/05/24
1.1K0
加密算法概述:分类与常见算法
哈希算法是对称算法还是非对称算法_对称加密和非对称加密原理
作用:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法的目的:为了验证原始数据是否被篡改。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。
全栈程序员站长
2022/11/01
1.2K0
Go语言中的5种常用加密方法
在数字时代,数据安全变得至关重要。Go语言以其简单、高效、易于部署的特点被广泛应用于服务器端编程。今天,我们将探索Go语言在加密领域的5种常用函数,这些技术能帮助开发者保护用户数据,防止未经授权的访问。
希里安
2023/12/26
6800
Go语言中的5种常用加密方法
Postman 如何调试加密接口?
众所周知,Postman 是一款非常流行且易用的 API 调试工具,在接口调试或测试时经常被使用针对普通 API 接口,我们可以直接在 Postman 中输入 URL、Query String、Header、Data 来模拟发送一个 HTTP 请求
艳艳代码杂货店
2021/10/06
7460
【转】MySQL8.0 GA Encryption加密
在信息发达的当今,数据安全的重要性不言而喻。比如:身份证,银行卡,名字,电话号码,地址都是重要又敏感的信息。在数据库系统中通过数据加密,以保障数据的安全性。目前软件行业常用的加密算法:MD5、SHA1、SHA2,AES、DES、CAST、IDEA、RC2、RC5 等。这些加密算法的目的在于使别人无法查看加密的数据,并且在需要的时候还可以对数据进行解密来重新查看数据。
保持热爱奔赴山海
2024/09/30
2590
一文搞懂常见的加密算法
加密算法在互联网技术领域中几乎是无处不在,而密码学也是网络安全的重要基础,这篇文章我们就一起来学习下常见的加密算法。
闫同学
2023/09/21
2.1K0
相关推荐
HarmonyOS 开发实践——基于@ohos/crypto-js实现加解密工具箱
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档