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
相关问题
加密算法(crypto-js)Arkts转化代码
682浏览 • 1回复 待解决
RSA NoPadding模式加密失败
611浏览 • 1回复 待解决
安全加密算法代码参考
663浏览 • 1回复 待解决
如何实现RSA公钥PK加密一段文字
214浏览 • 1回复 待解决
能使用ArkTS来调用Java代码吗?
4766浏览 • 1回复 待解决
如何在ArkTS代码执行HTML内JS函数
1061浏览 • 1回复 待解决
ArkTS代码执行效率是如何提升
908浏览 • 1回复 待解决
java代码设置below问题有懂吗?
1860浏览 • 1回复 待解决
jsBridge如何正确使用this
394浏览 • 1回复 待解决