Harmony OSARK UIets使用第三方类库crypto实现加密解密

Posted 华为开发者论坛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Harmony OSARK UIets使用第三方类库crypto实现加密解密相关的知识,希望对你有一定的参考价值。


在我们的日常开发过程中会经常用到加密解密,数字签名,信息加密是前后端开发经常使用的技术。应用场景包括:用户登录,交易,信息通讯等。
今天分享一下AES加密解密方法,它是通过第三方类库CryptoJS来实现的
1.DevEcoStudio 新建ets项目,在Terminal命令行界面输入
npm install crypto-js --save 
安装完成以后刷新工程会生成node_modules目录

【Harmony

关于鸿蒙ets项目如何npm方式引入第三方js类库
参考链接:
​https://developer.huawei.com/consumer/cn/forum/topic/0202769537680520280?fid=0102683795438680754​

2.代码如下:

import CryptoJS from crypto-js;
@Entry
@Component
struct ParentView
public onclieck()
console.log("1111111")
let pas=this.Encrypt(123456+"")
console.log(this.Decrypt(pas))



//解密方法
Decrypt(word)
const key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF"); //十六位十六进制数作为密钥
const iv = CryptoJS.enc.Utf8.parse(ABCDEF1234123412); //十六位十六进制数作为密钥偏移量
let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 );
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
console.log(decryptedStr.toString())
return decryptedStr.toString();


//加密方法
Encrypt(word)
const key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF"); //十六位十六进制数作为密钥
const iv = CryptoJS.enc.Utf8.parse(ABCDEF1234123412); //十六位十六进制数作为密钥偏移量
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 );

console.log(encrypted.ciphertext.toString().toUpperCase())
return encrypted.ciphertext.toString().toUpperCase();


build()
Flex( direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center )
Text(11111)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(this.onclieck.bind(this))

.width(100%)
.height(100%)


【Harmony

【注】:加密的时候必须转成字符串,使用toString.解密的时候,必须使用utf8的格式
3运行效果如下:

【Harmony

参考链接:
​https://www.cnblogs.com/pinkpolk/articles/13600696.html​

欲了解更多更全技术文章,欢迎访问:https://developer.huawei.com/consumer/cn/forum/topic/0201802514778160388?fid=0102683795438680754?ha_source=zzh

以上是关于Harmony OSARK UIets使用第三方类库crypto实现加密解密的主要内容,如果未能解决你的问题,请参考以下文章

Harmony OSJAVA UI鸿蒙应用如何集成OKHttp网络三方库

Harmony OS 中用于 Android OS 中的 AccelerateInterpolator 和 OvershootInterpolator 的替代类是啥?

初识鸿蒙(Harmony)

关于Apk在HarmonyOS2.0.1(含)以上获取不到第三方应用包名问题

关于Apk在HarmonyOS2.0.1(含)以上获取不到第三方应用包名问题

用Hi3861-wifi联网下载播放wav音乐 - 基于Harmony2.0