HarmonyOS 鸿蒙Next des加密算法,DES/ECB/PKCS5Padding 工作模式

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next des加密算法,DES/ECB/PKCS5Padding 工作模式

cke_134.png

cke_410.png

android 这么编写,现在鸿蒙 next 支持吗?有没办法转换成ArkTS代码。


更多关于HarmonyOS 鸿蒙Next des加密算法,DES/ECB/PKCS5Padding 工作模式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复
image.png

更多关于HarmonyOS 鸿蒙Next des加密算法,DES/ECB/PKCS5Padding 工作模式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


crypto-js 完全能够满足DES加密要求啊

可以使用鸿蒙next 的三方库 crypto-js来实现,三方库的链接为https://ohpm.openharmony.cn/#/cn/detail/[@ohos](/user/ohos)%2Fcrypto-js

function desDecrypt(message: string, key: string) {
  let key2 = CryptoJS.enc.Utf8.parse(key)
  const decrypted: ESObject = CryptoJS.DES.decrypt(message, key2, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7,
  }).toString(CryptoJS.enc.Utf8)
  console.log("=====>>>>>decrypted:", decrypted);
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

返回空的值

帮忙贴下这部分的代码,我看下为什么返回空

鸿蒙原生 DES 加密方案目前是不支持的,因为DES是不安全的算法,算法库框架这边目前支持的是3DES。

可以使用三方库[@ohos](/user/ohos)/crypto-js,目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。链接: https://ohpm.openharmony.cn/#/cn/detail/[@ohos](/user/ohos)%2Fcrypto-js

感谢,试过了,并不可以。

HarmonyOS 鸿蒙Next中对于des加密算法,特别是DES/ECB/PKCS5Padding的工作模式,主要遵循的是标准的加密算法规范。

DES(Data Encryption Standard)是一种对称加密算法,即加密和解密使用相同的密钥。ECB(Electronic Codebook)模式是DES的一种操作模式,它将明文分割成固定大小的块(通常为64位),然后独立地对每个块进行加密。这种模式的优点是简单且易于实现,但缺点是相同的明文块会产生相同的密文块,因此不适合加密较长或具有重复模式的消息。

PKCS5Padding是一种填充机制,用于确保明文长度符合DES加密的块大小要求。当明文长度不是块大小的整数倍时,PKCS5Padding会按照一定规则在明文末尾添加填充字节,使其长度达到块大小的整数倍。解密时,这些填充字节会被移除以恢复原始明文。

在HarmonyOS鸿蒙Next中,当使用DES/ECB/PKCS5Padding模式进行加密时,系统会按照上述规范对明文进行加密处理。需要注意的是,ECB模式由于其固有的安全性弱点(如易受模式分析攻击),在实际应用中通常不被推荐。更安全的替代方案包括CBC(Cipher Block Chaining)模式等。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部