HarmonyOS 鸿蒙Next 是否支持DES/CBC/PKCS5Padding的加密方式

HarmonyOS 鸿蒙Next 是否支持DES/CBC/PKCS5Padding的加密方式

加解密介绍-加解密-Crypto Architecture Kit(加解密算法框架服务)-安全-系统 - 华为HarmonyOS开发者
在这边没找到相关demo

比如说,密钥是 “abcdefg”,iv是"abcdefg".getBytes(),用“DES/CBC/PKCS5Padding”加密算法,想加密的文字是:“帮我加密一下”
应该怎么写?


更多关于HarmonyOS 鸿蒙Next 是否支持DES/CBC/PKCS5Padding的加密方式的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

以下是生成ECC256密钥的例子:

import huks from '@ohos.security.huks';

class HuksProperties {
  tag: huks.HuksTag = huks.HuksTag.HUKS_TAG_ALGORITHM
  value: huks.HuksKeyAlg | huks.HuksKeySize | huks.HuksKeyPurpose |
  huks.HuksKeyDigest = huks.HuksKeyAlg.HUKS_ALG_ECC
}

let keyAlias = '帮我加密一下';
let properties: HuksProperties[] = [
  {
    tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
    value: huks.HuksKeyAlg.HUKS_ALG_ECC
  },
  {
    tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
    value: huks.HuksKeySize.HUKS_ECC_KEY_SIZE_256
  },
  {
    tag: huks.HuksTag.HUKS_TAG_PURPOSE,
    value:
    huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN |
    huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY
  },
  {
    tag: huks.HuksTag.HUKS_TAG_DIGEST,
    value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
  }
];
let options: huks.HuksOptions = {
  properties: properties
};
let result = huks.generateKey(keyAlias, options);

算法相关API资料链接 :  [@ohos](/user/ohos).security.cryptoFramework (加解密算法库框架)-ArkTS API-Crypto Architecture Kit(加解密算法框架服务)-安全-系统 - 华为HarmonyOS开发者

目前还不支持DES(DES是不安全算法),算法库框架这边目前支持的是3DES,三方库也可以实现DES的加解密,三方库参考链接:https://ohpm.openharmony.cn/#/cn/detail/[@ohos](/user/ohos)%2Fcrypto-js

当然也可以尝试使用鸿蒙自带的加解密算法库,看能否满足开发场景 [@ohos](/user/ohos).security.cryptoFramework (加解密算法库框架)-ArkTS API-Crypto Architecture Kit(加解密算法框架服务)-安全-系统 - 华为HarmonyOS开发者

更多关于HarmonyOS 鸿蒙Next 是否支持DES/CBC/PKCS5Padding的加密方式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next不支持DES/CBC/PKCS5Padding的加密方式

HarmonyOS鸿蒙Next系统原生并不支持DES加密模式,因为DES已被视为一种不安全的加密算法。系统算法库框架主要支持的是3DES加密,而非DES。对于DES/CBC/PKCS5Padding的加密方式,HarmonyOS鸿蒙Next系统没有直接提供原生支持。

开发者若需要在HarmonyOS鸿蒙Next系统上实现类似DES/CBC/PKCS5Padding的加密功能,可以考虑使用第三方库。例如,crypto-js库提供了DES加解密功能,但可能需要注意其性能和兼容性。

值得注意的是,虽然PKCS7与PKCS5Padding在填充方式上可视为相同或互相兼容,但HarmonyOS鸿蒙Next系统原生支持的填充方式可能与PKCS5Padding不完全一致。因此,在使用第三方库时,开发者需要仔细测试并确认其加密效果是否符合预期。

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

回到顶部