javascript - 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"));
解决方案
推荐阅读
- markdown - 使用 FrontMatter 来拉取 110 的相关帖子集合?
- sql - Row_Number 基于两列
- continuous-integration - 如何在 aws codebuild 中为 bitbucket 获取分支名称?
- batch-file - 如何使用批处理脚本执行两个十六进制数的按位或?
- json - 我将如何在 Ruby 中解析 JSON 以提供特定的输出
- python - 使用代码运行器停止时,Python 未捕获 KeyboardInterrupt
- excel - 使用 Excel js 进行 Excel 数据验证
- ruby-on-rails - Redmine 共享 API
- tfs - 尴尬的 TFS 升级
- r - 循环功能问题