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/OpenHarmon…
源码地址
https://gitee.com/openharmony-sig/crypto-js
ohpm 仓地址
https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fcrypto-js