HarmonyOS 鸿蒙Next convertKeySync(key: DataBlob): SymKey 报错问题

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

HarmonyOS 鸿蒙Next convertKeySync(key: DataBlob): SymKey 报错问题

我这边有一个DES加密的问题,在调用这个方法  convertKeySync(key: DataBlob): SymKey  ,打算生成一个key,但总是报错 Reason:Error

Error name:Error

Error message:The input string contains unsupported characters

Error code:-1

Stacktrace:

at decodeSync (/usr1/hmos_for_system/src/increment/sourcecode/out/generic_generic_arm_64only/general_all_phone_standard/obj/commonlibrary/ets_utils/js_util_module/util/util_js.js:72:1)

at decodeSync (oh_modules/.ohpm/@pura+harmony-utils@1.0.9/oh_modules/@pura/harmony-utils/src/main/ets/utils/Base64Util.ets:78:18)

at strToUint8Array (oh_modules/.ohpm/@pura+harmony-utils@1.0.9/oh_modules/@pura/harmony-utils/src/main/ets/crypto/CryptoHelper.ets:53:24)

at getSymKeyDataBlob (oh_modules/.ohpm/@pura+harmony-utils@1.0.9/oh_modules/@pura/harmony-utils/src/main/ets/crypto/CryptoHelper.ets:93:22)

at getConvertSymKeySync (oh_modules/.ohpm/@pura+harmony-utils@1.0.9/oh_modules/@pura/harmony-utils/src/main/ets/crypto/CryptoUtil.ets:134:48)

at creatQRCodeWithTime (entry/src/main/ets/pages/activity/ActivityQRCodePage.ets:116:18)

at aboutToAppear (entry/src/main/ets/pages/activity/ActivityQRCodePage.ets:96:5)

at anonymous (entry/src/main/ets/views/HomeToolbarView.ets:62:11)


更多关于HarmonyOS 鸿蒙Next convertKeySync(key: DataBlob): SymKey 报错问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
从报错信息来看,是调用了 decodeSync 方法,导致的报错;

另外,生成3DES密钥, 密钥长度为192位,即24字节。是传入的密钥格式不正确。

对称密钥生成和转换规格-3DES:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/crypto-sym-key-generation-conversion-spec-V5#section3des

指定二进制数据转换3DES密钥:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/crypto-convert-binary-data-to-sym-key-V5#指定二进制数据转换3des密钥

CryptoFramework 仅支持3DES,如果需要DES加密,使用crypto-js三方库:https://gitee.com/openharmony-sig/crypto-js

更多关于HarmonyOS 鸿蒙Next convertKeySync(key: DataBlob): SymKey 报错问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS鸿蒙Next中convertKeySync(key: DataBlob): SymKey报错问题,通常可能涉及以下几个方面:

  1. DataBlob数据问题:检查传入的DataBlob对象是否有效,确保其包含正确的密钥数据且未损坏。数据格式需与convertKeySync方法的要求一致。

  2. API使用权限:确保应用已正确声明并使用必要的权限,包括密钥管理相关权限。权限缺失可能导致API调用失败。

  3. API版本兼容性:确认所使用的HarmonyOS版本支持convertKeySync方法。如果API在新版本中进行了修改或在新旧版本间存在差异,可能导致兼容性问题。

  4. 系统状态:检查设备或模拟器的系统状态,确保系统正常运行且没有影响API调用的错误或异常。

  5. 错误码分析:查看报错时返回的错误码,根据错误码的具体含义进行排查。HarmonyOS提供了详细的错误码列表,有助于定位问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。通过联系客服,可以提供更详细的错误信息和日志,以便获得更专业的帮助。

回到顶部