HarmonyOS RSA解密问题

这个所应用的解密方法能不能写一个公开出来一下

import { buffer, util } from '@kit.ArkTS'; 
import { cryptoFramework } from '@kit.CryptoArchitectureKit'; 
/** 
 * 使用RSA非对称密钥(PKCS1模式)加密 
 * @param message 要加密的明文数据 
 * @returns 加密后的字符串,base64编码 
 */ 
export async function encryptRSA(message: string) { 
  // 服务器下发RSA公钥字符串(base64编码) 
  let pubKeyStr = "MIGfMA0GCSqGSIb3DQEBAQUAxxxxxxxxxxxxxCBiQKBgQDFQArxxxBXM4jHHuZGIb/kxxxxSjXkjqPLgrDmqBFxNyYxxxxO10nStQwdRkQkh5lZ5sqC1G/z6lyDPxxxx5GLZ2Tj4yinNjcMXmOwiHfyQAQo9LwdlyTedwRchg0fYexxxxxxxcWPowT1aA+GnQhYwNmaS/iKQsNxxxxQAB"; 
  // 初始化Base64工具实例 
  let base64Helper = new util.Base64Helper(); 
  // 公钥转换为Uint8Array,然后包装为DataBlob类型 
  let pubKeyBlob: cryptoFramework.DataBlob = { data: base64Helper.decodeSync(pubKeyStr) }; 
  // 创建RSA key生成器 
  let rsaGenerator = cryptoFramework.createAsyKeyGenerator('RSA1024'); 
  // 将公钥包装数据pubKeyBlob转换成密钥对类型KeyPair 
  let keyPair = await rsaGenerator.convertKey(pubKeyBlob, null); 
  // 创建 Cipher对象 
  let cipher = cryptoFramework.createCipher('RSA1024|PKCS1'); 
  // 初始化加密模式,指定密钥keyPair.pubKey 
  await cipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, keyPair.pubKey, null); 
  // 包装要加密的明文 
  let plainTextBlob: cryptoFramework.DataBlob = { data: new Uint8Array(buffer.from(message, 'utf-8').buffer) }; 
  // 传入明文,获取加密后的数据 
  let encryptBlob = await cipher.doFinal(plainTextBlob); 
  // 返回加密后的字符串 
  return base64Helper.encodeToStringSync(encryptBlob.data); 
}
HarmonyOS
2024-08-13 15:02:26
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

解密的示例代码请参考:

async decryptRSA(text: string) { 
  try { 
    let decoder = cryptoFramework.createCipher('RSA1024|PKCS1'); 
    await decoder.init(cryptoFramework.CryptoMode.DECRYPT_MODE, this.keyPair!.priKey, null); 
    let Base64Helper = new util.Base64Helper() 
    let jiemessage = Base64Helper.decodeSync(text) 
    let decryptData = await decoder.doFinal({ data: jiemessage }); 
    let decryptDataString = this.convertUnit8ArrayToString(decryptData.data) 
    return decryptDataString 
  } catch (e) { 
    console.log('error:' + JSON.stringify(e)) 
    return '' 
  } 
}
分享
微博
QQ
微信
回复
2024-08-13 21:01:57
相关问题
HarmonyOS RSA如何用公钥解密
485浏览 • 0回复 待解决
HarmonyOS rsa解密速度过于缓慢
442浏览 • 1回复 待解决
HarmonyOSRSA解密相关吗
345浏览 • 0回复 待解决
HarmonyOS 支持rsa使用公钥解密
392浏览 • 1回复 待解决
RSA导入外部密钥实现加解密
708浏览 • 1回复 待解决
RSA加密,使用自有私钥解密报错
135浏览 • 1回复 待解决
rsa 公钥解密初始化报错
121浏览 • 1回复 待解决
实现一次非对称RSA非对称加解密
981浏览 • 1回复 待解决
HarmonyOS crypto-js 解密中乱码问题
575浏览 • 1回复 待解决
HarmonyOS RSA加密方式
484浏览 • 1回复 待解决
HarmonyOS Sm2和DES加解密问题
325浏览 • 1回复 待解决
解密问题的定位指导
285浏览 • 1回复 待解决
HarmonyOS RSA分段加密乱码
485浏览 • 1回复 待解决
HarmonyOS RSA算法如何使用
240浏览 • 1回复 待解决
HarmonyOS 实现RSA加密功能
479浏览 • 1回复 待解决
基于加解密算法框架的规格问题
652浏览 • 1回复 待解决
HarmonyOS 请问ArkTS如何实现RSA加密?
366浏览 • 1回复 待解决
HarmonyOS解密 demo
400浏览 • 1回复 待解决