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 RSA加密算法实现
29浏览 • 1回复 待解决
HarmonyOS 请问ArkTS如何实现RSA加密
522浏览 • 1回复 待解决
RSA加密方法在HarmonyOS实现
21浏览 • 1回复 待解决
HarmonyOS RSA加密方式
669浏览 • 1回复 待解决
HarmonyOS rsa加密报错
40浏览 • 1回复 待解决
HarmonyOS RSA分段加密乱码
628浏览 • 1回复 待解决
HarmonyOS RSA加密失败问题
22浏览 • 1回复 待解决
RSA NoPadding模式加密失败
1268浏览 • 1回复 待解决
HarmonyOS RSA私钥加密公钥解密
32浏览 • 1回复 待解决
HarmonyOS RSA加密中,公私钥问题
17浏览 • 1回复 待解决
如何实现RSA的公钥PK加密一段文字
638浏览 • 1回复 待解决
RSA 加密的具体使用方法
240浏览 • 1回复 待解决
HarmonyOS RSA加密的base64秘钥转换
15浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
496浏览 • 1回复 待解决
RSA加密,使用自有私钥解密报错
268浏览 • 1回复 待解决
HarmonyOS 加密导入RSA1024秘钥对Demo
21浏览 • 1回复 待解决