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加密
308浏览 • 1回复 待解决
HarmonyOS RSA加密方式
395浏览 • 1回复 待解决
HarmonyOS RSA分段加密乱码
404浏览 • 1回复 待解决
RSA 加密的具体使用方法
28浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
319浏览 • 1回复 待解决
RSA加密,使用自有私钥解密报错
39浏览 • 1回复 待解决
RSA NoPadding模式加密失败
1067浏览 • 1回复 待解决
如何实现RSA的公钥PK加密一段文字
480浏览 • 1回复 待解决
RSA非对称加密-@hms-security/agoh-crypto
386浏览 • 1回复 待解决
HarmonyOS 换肤功能怎么实现
297浏览 • 1回复 待解决
RSA导入外部密钥实现加解密
669浏览 • 1回复 待解决
HarmonyOS如何实现头像选择功能
281浏览 • 1回复 待解决
HarmonyOS 实现手账、便签的功能
176浏览 • 1回复 待解决
HarmonyOS 如何是实现手势密码功能
334浏览 • 1回复 待解决