HarmonyOS 是否有使用SHA256withRSA加密验签的demo?

如下面js的

import jsrsasign, { hextob64 } from 'jsrsasign'
/**
 * 创建签名
 * @param str 签名字符串
 * @param privateKey 加密私钥
 */
export const generateSignature = (str: string, privateKey: string) => {
  // 签名
  const sign = new jsrsasign.KJUR.crypto.Signature({ alg: 'SHA256withRSA' })
  const key = jsrsasign.KEYUTIL.getKey(privateKey)
  sign.init(key)
  sign.updateString(str)
  const signature = hextob64(sign.sign())
  return signature
}
阅读 595
1 个回答

可参考如下demo:

async function signMessagePromise(priKey: cryptoFramework.PriKey,message:cryptoFramework.DataBlob) {
  let signAlg = "RSA1024|PKCS1|SHA256";
  let signer = cryptoFramework.createSign(signAlg);
  await signer.init(priKey);
  let signData = await signer.sign(message);
  return signData;
}
async function verifyMessagePromise(signMessageBlob: cryptoFramework.DataBlob, pubKey: cryptoFramework.PubKey,message:cryptoFramework.DataBlob) {
  let verifyAlg = "RSA1024|PKCS1|SHA256";
  let verifier = cryptoFramework.createVerify(verifyAlg);
  await verifier.init(pubKey);
  let res = await verifier.verify(message, signMessageBlob);
  console.info("verify result is " + res);
  return res;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进