HarmonyOS RSA私钥加密公钥解密
无法解密成功,下面是方法,包含待解密串和公钥,公钥应该是2048的,麻烦帮忙正确解密出结果
rsaDecrypt(message: string, callback) {
message = "aTc2-LTeM7Dsxo-2fuHeoC-k0pGU89jKm6xghw-gGllwyRz-q5ybwBc6wjIazfj14_3aWW1GzuG3mW6Qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9CHMqw9yjtYxAOwh-C_IVtt9euYfBzFqJTbgJgSWjHzFSUXG9za5ZyW8qt4YPTtXzCSu-uTUfpoxDoMGqS23rQTkiRACDGBVOC66jhTKMOgRfOcCXWqP6FuC25eRohHVMBc3r3AU_e5d-ObvbI_IaZGU4M6RV_Ptx0aQi3nA9rf94HlbouaAxy9xofHyIzXWt8vtAGt6PsEgAugikA";
const PUBLICKEY_DEBUG = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiOpWXDGVxiq2ON0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMbyrKNxhD840oMThOmFdLUsK8Aq8_akTzNQFg3bxiaf4vQxnDwyVWjeZD-7rFD4-NeX7pUPgxKpyHDUe8lmHceuHB_YktGN4Ewwk6-ofV0dOF8-BgrMtjZJ1dP_BgtR6haO013R61awGH1hJCz76477ykJzmbILbAcZ2Fr9Ki_UrJWOCFw1IQzadAcrPJk09N0p26KsM2pp2F-7TPVTKSsaXhQF5esN6aec5SwlNeIHu5rgCW93atHEvwdh6bBa3bKYzc2EMCJlgJF3UTgkPx3hyxL8Uut5KVGTwIDAQAB";
const RSA512_PRIMES_2: string = 'RSA1024|PRIMES_2';
const RSA512_PKCS1: string = 'RSA1024|PKCS1';
let rsaGenerator = cryptoFramework.createAsyKeyGenerator(RSA512_PRIMES_2);
let cipher = cryptoFramework.createCipher(RSA512_PKCS1);
let that = new util.Base64Helper();
// let priKey = that.decodeSync(RSA_DECRYPT_KEY);
let pubKey = new Uint8Array(buffer.from(PUBLICKEY_DEBUG, 'base64url').buffer);
let pubKeyBlob: cryptoFramework.DataBlob = { data: pubKey };
rsaGenerator.convertKey(pubKeyBlob, null, (err, keyPair) => {
if (err) {
Logger.error(TAG, "convertKey: error." + (err as BusinessError).code);
return;
}
cipher.init(cryptoFramework.CryptoMode.DECRYPT_MODE, keyPair.pubKey, null, (err, data) => {
try {
// let newMessage = that.decodeSync(message);
let newMessage = new Uint8Array(buffer.from(message, 'base64url').buffer);
let input: cryptoFramework.DataBlob = { data: newMessage };
cipher.doFinal(input, (err, data) => {
if (err) {
Logger.error(TAG, "cipher doFinal." + (err as BusinessError).code);
return;
}
Logger.info(TAG, "DecryptOutPut is " + data.data);
let result = this.uint8ArrayToString(data.data);
Logger.info(TAG, "result is " + result);
callback(result)
})
} catch (err) {
Logger.info(TAG, "cipher init error: " + (err as BusinessError).code);
return err;
}
})
})
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
HarmonyOS
赞
收藏 0
回答 1
相关问题
cryptoFramework是否支持RSA的私钥加密,公钥解密
1079浏览 • 1回复 待解决
HarmonyOS 私钥加密公钥解密问题
480浏览 • 1回复 待解决
HarmonyOS RSA指定公钥或私钥字符串加密和解密
420浏览 • 1回复 待解决
HarmonyOS RSA公钥解密
564浏览 • 1回复 待解决
HarmonyOS RSA 公钥加密成功,但使用私钥加密,初始化方法报错
411浏览 • 1回复 待解决
HarmonyOS RSA如何用公钥解密
1230浏览 • 0回复 待解决
HarmonyOS 如何使用公钥解密私钥加密,切换到代码中没法createVerify
308浏览 • 1回复 待解决
HarmonyOS中RSA如何用公钥解密?
418浏览 • 0回复 待解决
HarmonyOS 支持rsa使用公钥解密吗
845浏览 • 1回复 待解决
HarmonyOS 关于RSA公钥加解密问题
670浏览 • 1回复 待解决
rsa 公钥解密初始化报错
791浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
1029浏览 • 1回复 待解决
RSA加密,使用自有私钥解密报错
705浏览 • 1回复 待解决
rsa加密公钥convertKey异常:401 invalid param
2548浏览 • 1回复 待解决
HarmonyOS RSA中,如何通过私钥指数和公钥模数加载公私钥数据
666浏览 • 1回复 待解决
HarmonyOS的RSA中,如何通过私钥指数和公钥模数加载公私钥数据?
324浏览 • 0回复 待解决
如何实现RSA的公钥PK加密一段文字
920浏览 • 1回复 待解决
sm2加解密中出现裸密文如何处理以及导入公钥加密和导入私钥解密的方法
1534浏览 • 1回复 待解决
HarmonyOS RSA加密中,公私钥问题
546浏览 • 1回复 待解决
HarmonyOS ArkTS不支持RSA公钥解密吗,有其他ohpm库可以用吗?
356浏览 • 1回复 待解决
如何使用服务端下发的RSA公钥(字符串)对明文数据进行加密
2180浏览 • 1回复 待解决
HarmonyOS RSA加密的base64秘钥转换
590浏览 • 1回复 待解决
HarmonyOS 加密导入RSA1024秘钥对Demo
468浏览 • 1回复 待解决
Java中通过证书公钥 进行RSA/None/PKCS1Padding加密,在HarmonyOS中有对应的方式吗
545浏览 • 1回复 待解决
HarmonyOS NDK开发密钥管理服务,rsa公钥导入的正确姿势?
433浏览 • 1回复 待解决
私钥加密,公钥解密,公钥解密的部分,需要按照如下的代码进行编写:
使用rsa签名,对要加密的数据长度有限制,小于等于密钥长度-11个字节