HarmonyOS 实现RSA加密功能

想实现RSA加密功能,接入了一个RSA加密的库。 ohpm install @hms-security/agoh-crypto

加密方法如图,参数有两个,一个是加密字符串,一个是公钥

但现在一直提示加密失败。提示语为 min n bits of RSA is 3072

HarmonyOS  实现RSA加密功能-鸿蒙开发者社区

HarmonyOS
2024-08-12 15:58:29
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

ohAegRsaEncText接口公钥加密,当前支持3072,请确定公钥是3072位的。以下demo可供参考:

import cryptoFramework from "@ohos.security.cryptoFramework"; 
import { buffer } from '@kit.ArkTS'; 
import util from '@ohos.util'; 
 
async genRsaPubKey () { 
  //引入外部的公钥加密 
  const pubKey = "asdasd123231dsasdasd123123asdasd12312xxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
  //明文 
  const plaintext = '我是明文' 
  const base64 = new util.Base64Helper() 
  let publicKeyDataBlob: cryptoFramework.DataBlob = { data: base64.decodeSync(pubKey) }; 
  let asyKeyGenerator = cryptoFramework.createAsyKeyGenerator('RSA1024'); 
  let cipher = cryptoFramework.createCipher('RSA|ECB|PKCS1'); //创建一个 Cipher (解密)对象 
  let keyGenPromise: cryptoFramework.KeyPair = await asyKeyGenerator.convertKey(publicKeyDataBlob, null); 
  await cipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, keyGenPromise.pubKey, null); 
  let put: cryptoFramework.DataBlob = { data: new Uint8Array(buffer.from(plaintext).buffer) }; 
  const finalRes = await cipher.doFinal(put) 
  console.log(`加密成功 ${finalRes.data}`) 
}
分享
微博
QQ
微信
回复
2024-08-12 19:35:45
相关问题
HarmonyOS 请问ArkTS如何实现RSA加密
108浏览 • 1回复 待解决
HarmonyOS RSA加密方式
160浏览 • 1回复 待解决
HarmonyOS RSA分段加密乱码
167浏览 • 1回复 待解决
RSA NoPadding模式加密失败
854浏览 • 1回复 待解决
如何实现RSA的公钥PK加密一段文字
329浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
156浏览 • 1回复 待解决
RSA非对称加密-@hms-security/agoh-crypto
66浏览 • 1回复 待解决
HarmonyOS 换肤功能怎么实现
97浏览 • 1回复 待解决
RSA导入外部密钥实现加解密
529浏览 • 1回复 待解决
HarmonyOS RSA解密问题
163浏览 • 1回复 待解决
多种加密方式实现加解密
693浏览 • 1回复 待解决
HarmonyOS如何实现粘贴板功能
81浏览 • 1回复 待解决
HarmonyOS 如何是实现手势密码功能
134浏览 • 1回复 待解决
HarmonyOS RSA算法如何使用
103浏览 • 1回复 待解决
HarmonyOS 如何实现滑动验证码功能
130浏览 • 1回复 待解决