当我尝试使用nodejs中的crypto模块加密数据时,我得到了错误。
我也尝试过禁用填充。
错误:错误:错误: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"));