RSA node解密 java 加密的注意事项
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 加密的注意事项相关推荐
- Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别
Base64 加密, 这个其实不可以算作加密方法,它可以看作是一种编码方式,它的用途只是二进制数字和字符串进行相互转化. Base64是网络上最常见的用于传输 8Bit字节码的编码方式之一,是一种基于 ...
- openresty Aes解密 Java 加密
之前提到.会采用openresty作为网关进行加解密.在实践的过程中.第一步就要调整代码了.我们之前Java采用的是AES/CBC/PKCS5Padding的填充方式,而openresty的aes.l ...
- java url加密解密,Java加密解密 -Jasypt
1. download url http://www.jasypt.org/download.html 2. 依赖 jar jasypt-1.9.0.jar 3. 加密 // 默认加密/解密算法是 P ...
- [crypto]-51.1-python的aes加解密/rsa生成密钥对/rsa加解密/hmac加密
直接上代码 import base64 from Crypto.Cipher import AES import random import sys import os import hmac fro ...
- Java 加密解密之对称加密算法PBE
JAVA 加密解密系列 Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) Java 加密 ...
- 国密SM4,layui前端 和.net core后台 加密解密 .net加密解密
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.本文做用?? 二.SM4介绍 三.使用步骤 1.前台实现加密 2.后台实现解密 四 总结 前言 第一次分享,我是个 ...
- SHA256withRSA签名,RSA加解密
SHA256withRSA签名,RSA加解密 简介 加密.签名流程图 具体代码实现 简介 项目用到了加密相关知识,主要包括加解密和签名过程.文章用java简单实现这一过程的工具类.(不包括公私钥的生成 ...
- Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA
[最简单的加密] 1.简单的概念 明文:加密前的信息 密文:机密后的信息 算法:加密或解密的算法 密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao) 2.简单的例子 ...
- RSA加密与解密(Java实现)
本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. RSA的应用 RSA是一种非对称加密算法.现在,很多登陆 ...
最新文章
- 消息队列处理微信支付超时订单
- 企业dns服务器搭建
- 应用程序服务器和Web服务器之间有什么区别?
- 想让论文能发表,应该星期几投稿?丨SCI研究
- python做小程序-【实战案例】利用Python做出趣味版防沉迷小程序
- python ssh登陆模块_Python sshh包_程序模块 - PyPI - Python中文网
- 降低前端业务复杂度新视角:状态机范式
- Ubuntu Vi编辑器中文乱码问题的解决
- oracle考试试题及其答案,oracle考试试题及答案
- 科技粉必看的10部电影
- 计算机系军训口号四句霸气,军训口号四句霸气中队
- U盘数据恢复软件推荐
- Ubuntu配置GPU版本pytorch环境(含NVIDIA驱动+Cuda+Cudnn)
- 简述网上银行的服务器端系统,网上银行系统jsp .doc
- css裁剪属性----clip-path
- 网络信息手机:web scrapper数据获取 、数据采集器、公众号信息收集
- 静态属性、静态方法、静态代码块
- 血的教训, 通过中国银行app查询个人征信报告需要多久
- 浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用
- 微信小程序开发跳坑指南(51-100)
热门文章
- 用Google搜索本地硬盘
- 数字领航 科技赋能 | 优锘科技与新华三强强联手加速智慧医院可视化进程!ThingJS
- 物联网在中国的崛起,具有什么样的价值?
- 思科设备操作命令(CISCO IOS)
- MySQL5.6与5.7的区别——及MySQL5.6版本安装
- 蓝桥杯 基础练习 数列排序 Java
- 华为鸿蒙系统老手机能用吗_华为鸿蒙系统是否用于手机还未确定 华为手机还会继续用安卓系统吗...
- Visio更改图形块的内边距
- 思科网络安全 第六章考试答案
- C语言简明教程,C语言简明教程