HarmonyOS SM2加密,HarmonyOS生成的密文要d2i_SM2_Ciphertext,请问可以发下d2i_SM2_Ciphertext的源码吗?

d2i_SM2_Ciphertext偶尔会报错SM2 ciphertext error!,不知道哪里的问题,希望提供d2i_SM2_Ciphertext方法的所有源码。

//发送短信
@State aesPhone: string = ""
@State aesImCode: string = ""
getMsgCode():void{
  const session = httpCore.getApiEngine();
  if (this.etImCode != '' && this.etImCode != undefined){
  //加密
  this.aesPhone = aesUtils.aesEncrypt(this.etPhone);
  this.aesImCode = aesUtils.aesEncrypt(this.etImCode);
  session.get(httpCore.getJointUrl() + apiService.getForgotPswCode + this.aesPhone + '/' + this.aesImCode + '/' + this.currentTimestamp)
  .then(async (response) => {
  let apiResult = new ApiResult();
  apiResult = JSON.parse(JSON.stringify(response))
  console.error('返回值===' + JSON.stringify(response));
  if (apiResult.status == '200') {
  this.getCodeInfo();
} else {
  promptAction.showToast({ message: apiResult.message, bottom: 100, duration: 1000 })
}
})
.catch((err: BusinessError) => {d2i_SM2_Ciphertext(standard_data: string): string {
  let message: string = standard_data;
  // 起始标识为03
  if (!message.startsWith(ASN1Util.SEQUENCE)) {
    this.ciphertextErr();
  }
  message = message.slice(ASN1Util.SEQUENCE.length, message.length);

  // SM2;
  let sequence_lenHex: string = this.getLenHex(message);
  message = message.slice(sequence_lenHex.length, message.length);
  let sequence_len: number = this.lenHex2number(sequence_lenHex);
  if (sequence_len != message.length / 2) {
    this.ciphertextErr();
  }
  let sm2_sequence = new SM2_SEQUENCE();
  message = this.readC1(sm2_sequence, message);
  message = this.readC3(sm2_sequence, message);
  message = this.readC2(sm2_sequence, message);
  let primal_data: string = sm2_sequence.C1x + sm2_sequence.C1y + sm2_sequence.C3 + sm2_sequence.C2;
  return primal_data;
}
  console.error("err:" + JSON.stringify(err));
});
}
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.

以上方法已经有了,但是在readC1中会报错,求readC1 readC2 readC3源码。

HarmonyOS
2025-01-10 08:57:37
102浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect
分享
微博
QQ
微信
回复
2025-01-10 10:22:01


相关问题
HarmonyOS生成SM2服务端无法解析
531浏览 • 1回复 待解决
HarmonyOS SM2加密算法
674浏览 • 1回复 待解决
HarmonyOS 生成SM2密钥对报错
767浏览 • 1回复 待解决
HarmonyOS SM2密钥问题
693浏览 • 1回复 待解决
HarmonyOS SM2数据签名
538浏览 • 1回复 待解决
HarmonyOS SM2密钥交换
532浏览 • 1回复 待解决
HarmonyOS SM2SM4国加解密使用demo
950浏览 • 1回复 待解决
HarmonyOS sm2验签失败
768浏览 • 1回复 待解决
HarmonyOS SM2/SM4结合加解密
756浏览 • 1回复 待解决
HarmonyOS SM2公私钥转换
629浏览 • 1回复 待解决
HarmonyOS 指定私钥生成SM2秘钥方法
674浏览 • 1回复 待解决
如何使用国SM2算法进行加解密
6085浏览 • 1回复 待解决
HarmonyOS SM2密钥对转换失败
1400浏览 • 1回复 待解决
HarmonyOSSM2转换公钥失败
838浏览 • 1回复 待解决
huks sm2签名验签失败
940浏览 • 1回复 待解决
HarmonyOS sm2签名后数据长度问题
472浏览 • 1回复 待解决
HarmonyOS SM2公钥PEM读取接口
751浏览 • 1回复 待解决
HarmonyOS SM2密钥交换计算协商密钥
580浏览 • 1回复 待解决
HarmonyOS Sm2和DES加解密问题
1107浏览 • 1回复 待解决