首页 > 解决方案 > NodeJs,加密错误:“错误:错误:0406B06E:rsa 例程:RSA_padding_add_none:数据对于密钥大小来说太大”

问题描述

当我尝试使用 nodejs 中的加密模块加密数据时出现错误。

我也尝试过禁用填充。

错误:错误:错误:0406B06E:rsa 例程:RSA_padding_add_none:数据对于密钥大小来说太大

代码 :-

const crypto = require('crypto');
const privateKey = '-----BEGIN PRIVATE KEY-----\nMIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAqPCzhHllwH/D1RWJ\noDso47Xe7N170rSBJPP7tC49wxf8OtR576SKlbHYmlbJmd2DtimNQkYhf1DbNA+G\ndlFn1QIDAQABAkEApidV58ydzp3aNRBhsz18Ebkl70BGMA1nlrh/rc5s4Bp1IeF5\nfM5iSTXcsMhzkBab8jgoFulffVhjhUOEdcZrAQIhANzM7CCymOhShScyWPfY0pP6\n08dVk5L2sTnYz2UG9MgtAiEAw99QK99gmZ8gd+7hvvlF/NG4GnI0U5lF/lXaUjPO\nf0kCIFUR1wAaD3OjJ44chc6oCSnef+3S+NKsnUeuUumXroPZAiEAu6BcscoGROHT\nPk+L2135Ftbl3h9r1HDMRXeD7J5HvlECIBcFryn4SxMuYS8xIFvq/viJmI7CL1Fh\nkeYmEpu8oxCS\n-----END PRIVATE KEY-----';
let data = {
    "name": "anand",
    "Hi": "Hisdcsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"
};
let buffer = Buffer.from(JSON.stringify(data));
let encrypted = crypto.privateEncrypt({
    key: privateKey,
    padding: crypto.constants.RSA_NO_PADDING
}, buffer);
console.log(encrypted.toString("base64"));

标签: javascriptnode.jsencryptioncryptojs

解决方案


推荐阅读