RSA 加密实践问题。将java中RSA加密代码翻译成 arkts 代码时,无法确定正确的API。希望提供正确的arkts代码

将java中RSA加密代码翻译成 arkts 代码时,无法确定正确的API。希望提供正确的arkts代码示例。

HarmonyOS
2024-06-05 23:26:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
youganlan
//加解密分开示例: 
//加密: 
public static async add(str: string, publicKey: string): Promise<string> { 
  let result = ''; 
  try { 
  let asyKeyGenerator = cryptoFramework.createAsyKeyGenerator(this.ASY_KEY_NAME_RSA_3072); 
  const publicKeyDataBlob = { data: this.decodeToUint8Array(publicKey) }; 
  let cipher = cryptoFramework.createCipher(this.ALG_NAME_RSA_3072); //创建一个 Cipher (解密)对象 
  let put: cryptoFramework.DataBlob = { data: this.stringToUint8Array(str) }; 
  let globalKeyPair: cryptoFramework.KeyPair = await asyKeyGenerator.convertKey(publicKeyDataBlob, null); 
  await cipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, globalKeyPair.pubKey, null); 
  const finalRes = await cipher.doFinal(put) 
  result = this.encodeToString(finalRes.data); 
} catch (err) { 
  console.log(err.message) 
} 
return result; 
} 
 
//解密 
public static async rsaDecrypt(message: string | Uint8Array, privateKey: string): Promise<string> { 
  let result = ''; 
  try { 
  let asyKeyGenerator = cryptoFramework.createAsyKeyGenerator(this.ASY_KEY_NAME_RSA_3072); 
  const privateKeyDataBlob = { data: this.decodeToUint8Array(privateKey) }; 
  const keyPair = await asyKeyGenerator.convertKey(null, privateKeyDataBlob); 
  let cipher = cryptoFramework.createCipher(this.ALG_NAME_RSA_3072); //创建一个 Cipher (解密)对象 
  await cipher.init(cryptoFramework.CryptoMode.DECRYPT_MODE, keyPair.priKey, null); 
  let bytes: Uint8Array = null; 
  if (typeof message === 'string') { 
  bytes = this.decodeToUint8Array(message); 
} else { 
  bytes = message; 
} 
const finalRes = await cipher.doFinal({ data: bytes }) 
result = this.uint8ArrayToString(finalRes.data); 
} catch (err) { 
  console.error(err.code) 
} 
return result; 
}
分享
微博
QQ
微信
回复
2024-06-06 23:07:59
相关问题
HarmonyOS 请问ArkTS如何实现RSA加密
307浏览 • 1回复 待解决
加密算法(crypto-js)Arkts转化代码
950浏览 • 1回复 待解决
HarmonyOS RSA加密方式
392浏览 • 1回复 待解决
RSA NoPadding模式加密失败
1066浏览 • 1回复 待解决
HarmonyOS 实现RSA加密功能
426浏览 • 1回复 待解决
HarmonyOS RSA分段加密乱码
399浏览 • 1回复 待解决
安全加密算法代码参考
1649浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
319浏览 • 1回复 待解决
能使用ArkTS来调用Java代码吗?
5988浏览 • 1回复 待解决
RSA非对称加密-@hms-security/agoh-crypto
385浏览 • 1回复 待解决
arkTS判断传入邮箱格式是否正确
392浏览 • 1回复 待解决
如何实现RSA公钥PK加密一段文字
480浏览 • 1回复 待解决