des的加解密目前HarmonyOS原生不支持,需要通过crypto-js三方库实现。需注意des加密过长明文会报错://...DES encrypt:UK6zCxxx0DV+FgoeyXw== //...DES decrypt:2011536858import CryptoJS from '@ohos/crypto-js' @Entry @Component struct DesCrypto { @State message: string = '点击开始'; build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) .onClick(() => { DESCrypto() }) } .width('100%') } .height('100%') } } function DESCrypto() { let str: string = "xxx"; // let key: string = "49cefbef4b407ff1"; let key: string = "xxxx"; let UTF8key: string = CryptoJS.enc.Hex.parse(key); let encrypted: string = CryptoJS.DES.encrypt(str, UTF8key, { mode: CryptoJS.mode.ECB, // mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, // iv: CryptoJS.enc.Hex.parse('202012$6') }).ciphertext.toString(CryptoJS.enc.Base64); console.log("...DES encrypt:" + encrypted); let decrypted: string = CryptoJS.DES.decrypt(encrypted, UTF8key, { mode: CryptoJS.mode.ECB, // mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, // iv: CryptoJS.enc.Hex.parse('202012$6') }).toString(CryptoJS.enc.Utf8); console.log("...DES decrypt:" + decrypted); }三方库指南链接:https://developer.huawei.com/consumer/cn/forum/topic/0202154002624192642
des的加解密目前HarmonyOS原生不支持,需要通过crypto-js三方库实现。需注意des加密过长明文会报错:
三方库指南链接:https://developer.huawei.com/consumer/cn/forum/topic/0202154002624192642