HarmonyOS 如何使用公钥解密私钥加密,切换到代码中没法createVerify

HarmonyOS
2024-12-20 12:53:17
1182浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect
function rsaKeyBase64(puk: string, prk: string) {
  // 创建一个AsyKeyGenerator实例
  let rsaGenerator = cryptoFramework.createAsyKeyGenerator('RSA2048');
  let base64 = new util.Base64Helper();
  if (puk != '' && prk != '') {
    let keyPair = rsaGenerator.convertKeySync({ data: base64.decodeSync(puk) }, { data: base64.decodeSync(prk) });
    return keyPair;
  } else if (prk) {
    let keyPair = rsaGenerator.convertKeySync(null, { data: base64.decodeSync(prk) });
    return keyPair;
  } else if (prk) {
    let keyPair = rsaGenerator.convertKeySync({ data: base64.decodeSync(puk) }, null);
    return keyPair;
  } else {
    let keyPair = rsaGenerator.generateKeyPairSync();
    return keyPair;
  }
}

//私钥加密
async function signMessagePromise(priKey: cryptoFramework.PriKey) {
  let signAlg = "RSA1024|PKCS1|NoHash|OnlySign";
  let signer = cryptoFramework.createSign(signAlg);
  await signer.init(priKey);
  let signData = await signer.sign({ data: RSAUtil.stringToUint8Array("私钥加密") });
  return signData;
}

// 公钥解密
async function verifyMessagePromise(signMessageBlob: cryptoFramework.DataBlob, pubKey: cryptoFramework.PubKey) {
  let verifyAlg = "RSA1024|PKCS1|NoHash|Recover";
  let verifier = cryptoFramework.createVerify(verifyAlg);
  await verifier.init(pubKey);
  let rawSignData = await verifier.recover(signMessageBlob);
  console.log("rsa puk data " + RSAUtil.uint8ArrayToString(rawSignData?.data))
  return rawSignData;
}
  • 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.
分享
微博
QQ
微信
回复
2024-12-20 15:16:21
相关问题
HarmonyOS RSA私钥加密解密
1009浏览 • 1回复 待解决
HarmonyOS 私钥加密解密问题
860浏览 • 1回复 待解决
HarmonyOSRSA如何解密
752浏览 • 0回复 待解决
如何使用RSA加密明文数据
1339浏览 • 1回复 待解决
HarmonyOS RSA解密
948浏览 • 1回复 待解决
HarmonyOS 支持rsa使用解密
1214浏览 • 1回复 待解决
HarmonyOS RSA如何解密
1590浏览 • 0回复 待解决
RSA加密使用自有私钥解密报错
1034浏览 • 1回复 待解决
HarmonyOS 关于RSA解密问题
989浏览 • 1回复 待解决
rsa 解密初始化报错
1192浏览 • 1回复 待解决
如何实现RSA的PK加密一段文字
1253浏览 • 1回复 待解决
HarmonyOS ArkTS如何使用AES加密解密
736浏览 • 1回复 待解决
HarmonyOS 证书问题
816浏览 • 1回复 待解决
HarmonyOS RSA加密,公私钥问题
888浏览 • 1回复 待解决