java 代码
Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding");
代替
Cipher.getInstance("RSA")
匹配node-rsa用NODE RSA JS 加密解密正常,用JAVA RSAUtils工具类加密解密正常。但是用node加密玩的java解密不了。原因:node默认的是DEFAULT_ENCRYPTION_SCHEME = 'pkcs1_oaep'而java中默认的是pkcs1。另:NODE-RSA中其它的默认值:var SUPPORTED_HASH_ALGORITHMS = {node10: ['md4', 'md5', 'ripemd160', 'sha', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512'],node: ['md4', 'md5', 'ripemd160', 'sha', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512'],iojs: ['md4', 'md5', 'ripemd160', 'sha', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512'],browser: ['md5', 'ripemd160', 'sha1', 'sha256', 'sha512']};var DEFAULT_ENCRYPTION_SCHEME = 'pkcs1_oaep';var DEFAULT_SIGNING_SCHEME = 'pkcs1';var DEFAULT_EXPORT_FORMAT = 'private';var EXPORT_FORMAT_ALIASES = {'private': 'pkcs1-private-pem','private-der': 'pkcs1-private-der','public': 'pkcs8-public-pem','public-der': 'pkcs8-public-der',};

node-rsa

var priKey = new NodeRSA();priKey.setOptions({encryptionScheme: 'pkcs1'});
// priKey.importKey("-----BEGIN PRIVATE KEY-----\n"+privateKey+"-----END PRIVATE KEY-----","pkcs8-private")
priKey.importKey(privateKey, "pkcs8-private")
// priKey.importKey(privateKey)
// priKey = new NodeRSA(privateKey, {encryptionScheme: 'pkcs1'});// const rsa_encrypt = (data) => {
// let key = new NodeRSA('-----BEGIN PUBLIC KEY-----' + 'MIGfMA0。。。。。。。AQAB' + '-----END PUBLIC KEY-----');
// // key.generateKeyPair(1024);
// key.setOptions({encryptionScheme: 'pkcs1'})
// let encryptKey = key.encrypt(data, 'base64') return encryptKey;
// }
console.log(priKey)
// var decrypted = priKey.decrypt(cipher, 'utf8');
var decrypted = priKey.decryptPublic(cipher, 'utf8');
console.log(decrypted)

参考:

RSA加密解密坑_马志宇的专栏-CSDN博客

RSA Java加密和Node.js解密不起作用 | 码农家园

RSA node解密 java 加密的注意事项相关推荐

  1. Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别

    Base64 加密, 这个其实不可以算作加密方法,它可以看作是一种编码方式,它的用途只是二进制数字和字符串进行相互转化. Base64是网络上最常见的用于传输 8Bit字节码的编码方式之一,是一种基于 ...

  2. openresty Aes解密 Java 加密

    之前提到.会采用openresty作为网关进行加解密.在实践的过程中.第一步就要调整代码了.我们之前Java采用的是AES/CBC/PKCS5Padding的填充方式,而openresty的aes.l ...

  3. java url加密解密,Java加密解密 -Jasypt

    1. download url http://www.jasypt.org/download.html 2. 依赖 jar jasypt-1.9.0.jar 3. 加密 // 默认加密/解密算法是 P ...

  4. [crypto]-51.1-python的aes加解密/rsa生成密钥对/rsa加解密/hmac加密

    直接上代码 import base64 from Crypto.Cipher import AES import random import sys import os import hmac fro ...

  5. Java 加密解密之对称加密算法PBE

    JAVA  加密解密系列 Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) Java 加密 ...

  6. 国密SM4,layui前端 和.net core后台 加密解密 .net加密解密

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.本文做用?? 二.SM4介绍 三.使用步骤 1.前台实现加密 2.后台实现解密 四 总结 前言 第一次分享,我是个 ...

  7. SHA256withRSA签名,RSA加解密

    SHA256withRSA签名,RSA加解密 简介 加密.签名流程图 具体代码实现 简介 项目用到了加密相关知识,主要包括加解密和签名过程.文章用java简单实现这一过程的工具类.(不包括公私钥的生成 ...

  8. Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

    [最简单的加密] 1.简单的概念 明文:加密前的信息 密文:机密后的信息 算法:加密或解密的算法 密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao) 2.简单的例子 ...

  9. RSA加密与解密(Java实现)

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. RSA的应用 RSA是一种非对称加密算法.现在,很多登陆 ...

最新文章

  1. 消息队列处理微信支付超时订单
  2. 企业dns服务器搭建
  3. 应用程序服务器和Web服务器之间有什么区别?
  4. 想让论文能发表,应该星期几投稿?丨SCI研究
  5. python做小程序-【实战案例】利用Python做出趣味版防沉迷小程序
  6. python ssh登陆模块_Python sshh包_程序模块 - PyPI - Python中文网
  7. 降低前端业务复杂度新视角:状态机范式
  8. Ubuntu Vi编辑器中文乱码问题的解决
  9. oracle考试试题及其答案,oracle考试试题及答案
  10. 科技粉必看的10部电影
  11. 计算机系军训口号四句霸气,军训口号四句霸气中队
  12. U盘数据恢复软件推荐
  13. Ubuntu配置GPU版本pytorch环境(含NVIDIA驱动+Cuda+Cudnn)
  14. 简述网上银行的服务器端系统,网上银行系统jsp .doc
  15. css裁剪属性----clip-path
  16. 网络信息手机:web scrapper数据获取 、数据采集器、公众号信息收集
  17. 静态属性、静态方法、静态代码块
  18. 血的教训, 通过中国银行app查询个人征信报告需要多久
  19. 浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用
  20. 微信小程序开发跳坑指南(51-100)

热门文章

  1. 用Google搜索本地硬盘
  2. 数字领航 科技赋能 | 优锘科技与新华三强强联手加速智慧医院可视化进程!ThingJS
  3. 物联网在中国的崛起,具有什么样的价值?
  4. 思科设备操作命令(CISCO IOS)
  5. MySQL5.6与5.7的区别——及MySQL5.6版本安装
  6. 蓝桥杯 基础练习 数列排序 Java
  7. 华为鸿蒙系统老手机能用吗_华为鸿蒙系统是否用于手机还未确定 华为手机还会继续用安卓系统吗...
  8. Visio更改图形块的内边距
  9. 思科网络安全 第六章考试答案
  10. C语言简明教程,C语言简明教程