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;
}
})
})
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
cryptoFramework是否支持RSA的私钥加密,公钥解密
860浏览 • 1回复 待解决
HarmonyOS 私钥加密公钥解密问题
78浏览 • 1回复 待解决
HarmonyOS RSA指定公钥或私钥字符串加密和解密
26浏览 • 1回复 待解决
HarmonyOS RSA公钥解密
16浏览 • 1回复 待解决
HarmonyOS RSA如何用公钥解密
666浏览 • 0回复 待解决
HarmonyOS RSA 公钥加密成功,但使用私钥加密,初始化方法报错
29浏览 • 1回复 待解决
HarmonyOS 如何使用公钥解密私钥加密,切换到代码中没法createVerify
73浏览 • 1回复 待解决
HarmonyOS 支持rsa使用公钥解密吗
499浏览 • 1回复 待解决
HarmonyOS 关于RSA公钥加解密问题
33浏览 • 1回复 待解决
rsa加密公钥convertKey异常:401 invalid param
2207浏览 • 1回复 待解决
RSA加密,使用自有私钥解密报错
268浏览 • 1回复 待解决
rsa 公钥解密初始化报错
309浏览 • 1回复 待解决
HarmonyOS RSA中,如何通过私钥指数和公钥模数加载公私钥数据
476浏览 • 1回复 待解决
如何使用RSA公钥加密明文数据
496浏览 • 1回复 待解决
HarmonyOS的RSA中,如何通过私钥指数和公钥模数加载公私钥数据?
166浏览 • 0回复 待解决
如何实现RSA的公钥PK加密一段文字
638浏览 • 1回复 待解决
sm2加解密中出现裸密文如何处理以及导入公钥加密和导入私钥解密的方法
1095浏览 • 1回复 待解决
HarmonyOS RSA加密中,公私钥问题
19浏览 • 1回复 待解决
HarmonyOS RSA加密的base64秘钥转换
20浏览 • 1回复 待解决
Java中通过证书公钥 进行RSA/None/PKCS1Padding加密,在HarmonyOS中有对应的方式吗
397浏览 • 1回复 待解决
如何使用服务端下发的RSA公钥(字符串)对明文数据进行加密
2009浏览 • 1回复 待解决
HarmonyOS 加密导入RSA1024秘钥对Demo
23浏览 • 1回复 待解决
ArkTS版本如何实现RSA分段加密与解密?
2546浏览 • 0回复 待解决
HarmonyOS harmonyOS定义不支持公钥加密,如何解决
72浏览 • 1回复 待解决
HarmonyOS NDK开发密钥管理服务,rsa公钥导入的正确姿势?
29浏览 • 1回复 待解决
私钥加密,公钥解密,公钥解密的部分,需要按照如下的代码进行编写:
使用rsa签名,对要加密的数据长度有限制,小于等于密钥长度-11个字节