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加密
369浏览 • 1回复 待解决
HarmonyOS RSA加密方式
486浏览 • 1回复 待解决
HarmonyOS RSA分段加密乱码
490浏览 • 1回复 待解决
RSA NoPadding模式加密失败
1147浏览 • 1回复 待解决
如何实现RSA的公钥PK加密一段文字
541浏览 • 1回复 待解决
RSA 加密的具体使用方法
102浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
363浏览 • 1回复 待解决
RSA加密,使用自有私钥解密报错
141浏览 • 1回复 待解决
RSA非对称加密-@hms-security/agoh-crypto
441浏览 • 1回复 待解决
RSA导入外部密钥实现加解密
723浏览 • 1回复 待解决
HarmonyOS 分享功能如何实现
95浏览 • 1回复 待解决
HarmonyOS 换肤功能怎么实现
402浏览 • 1回复 待解决
HarmonyOS RSA解密问题
377浏览 • 1回复 待解决
多种加密方式实现加解密
948浏览 • 1回复 待解决
加密和密码键盘的实现
114浏览 • 0回复 待解决