写点什么

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

  • 2023-09-08
    北京
  • 本文字数:2288 字

    阅读完需:约 8 分钟

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

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 更快。

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 可以全局安装,也可以在模块下安装。全局安装在根目录下执行安装指令,模块安装则在相应的模块下执行安装指令:


ohpm  install @ohos/crypto-js 
复制代码


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



2.  引入依赖

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


最新版本支持  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 算法在本库的使用:


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


4.  使用 aes 算法

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


 //第一步在需要使用到的页面,导入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 文档。


参考资料

安装 OpenHarmony ohpm 包

https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_har_usage.md

源码地址

https://gitee.com/openharmony-sig/crypto-js

ohpm 仓地址

https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fcrypto-js

用户头像

OpenHarmony开发者官方账号 2021-12-15 加入

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展

评论

发布
暂无评论
【开源三方库】crypto-js加密算法库的使用方法_OpenHarmony_OpenHarmony开发者_InfoQ写作社区