RSA在js中加密,但是后台不能解密,总是在报错

RSA在js中加密,但是后台不能解密,总是在报错,data must be longer than 64 bytes,我自己使用java加密解密就不报错,不知道为什么,有知道的没,help me啊

2个回答

你JS加密方式出来的数据格式有问题,你直接打印出来,对比java的看看
还要注意你的JS加密后的数据类型,是字符串还是byte

qq_28108539
嘻嘻哈哈哈0805 应该是字符串的,只是加密出来的数感觉好像和我自己使用java加密的长度什么的都不一样
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
RSA Javascript加密和Golang解密

<div class="post-text" itemprop="text"> <p>I have a scenario where I need to use <strong>RSA public key encryption standard</strong> with <strong>JavaScript</strong> and <strong>Golang</strong>. I need to encrypt data in JavaScript using public key and decrypt the same in Golang using the private key. I tried using <strong>PKCS#1(travst library for JavaScript and crypto/rsa for Golang)</strong>, but failed in decryption. Can anyone suggest solutions for this?</p> <p><strong>I tried all possible solutions and researched many documents, but still I couldn't find a proper method. If I do encrypt and decrypt within golang, its working fine. But there is some integration problem between javascript and golang. I am not sure about the padding methodology used in javasript.</strong></p> <p>This is my golang code to decrypt: </p> <pre><code>func Decrypt(encryptedData, label []byte) (decryptedData []byte) { var err error var block *pem.Block var private_key *rsa.PrivateKey if block, _ = pem.Decode([]byte(privatKeyData)); block == nil || block.Type != "RSA PRIVATE KEY" { //privatKeyData is in string format log.Fatal("No valid PEM data found") } //Read Private Key if private_key, err = x509.ParsePKCS1PrivateKey(block.Bytes); err != nil { log.Fatalf("Private key can't be decoded: %s", err) } //Decrypt if decrypted, err = rsa.DecryptPKCS1v15(rand.Reader, private_key, encryptedData); err != nil { log.Println(err) } return } </code></pre> </div>

在JavaScript中加密字符串并使用RSA技术在PHP中解密

<div class="post-text" itemprop="text"> <p>I am trying to encrypt some text in JavaScript and then send it to PHP (etc: with Ajax) to decrypt it there and save it (etc: In MySQL).</p> <p>Here is my code so far:</p> <p><strong>In JavaScript:</strong></p> <p>I am using this library for the encryption: <a href="http://travistidwell.com/blog/2013/02/15/a-better-library-for-javascript-asymmetrical-rsa-encryption/" rel="nofollow">http://travistidwell.com/blog/2013/02/15/a-better-library-for-javascript-asymmetrical-rsa-encryption/</a></p> <pre><code>function ConvertToURL(data) { // Converts data to URL friendly form // etc: Replaces '+', '/', '=' with 'plus', 'slash', 'equal' }; function AjaxOrder(data) { // Sends data in PHP with Ajax } var publicKey = '-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlOJu6TyygqxfWT7eLtGDwajtN FOb9I5XRb6khyfD1Yt3YiCgQWMNW649887VGJiGr/L5i2osbl8C9+WJTeucF+S76 xFxdU6jE0NQ+Z+zEdhUTooNRaY5nZiu5PgDB0ED/ZKBUSLKL7eibMxZtMlUDHjm4 gwQco1KRMDSmXSMkDwIDAQAB -----END PUBLIC KEY-----'; var encrypt = new JSEncrypt(); encrypt.setPublicKey(publicKey); var encrypted = encrypt.encrypt('Text to send.'); *// And now I am sending the encrypted text with some Ajax function* AjaxOrder(ConvertToURL(encrypted)); </code></pre> <p><strong>In PHP:</strong></p> <pre><code>$dataPost = $_POST('dt'); function ConvertFromURL($data) { // Converts $data to original form // etc: Replaces 'plus', 'slash', 'equal' with '+', '/', '=' } function ReturnData($data) { // Sends $data back in JavaScript as an answer to Ajax } $privateKey = '-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDlOJu6TyygqxfWT7eLtGDwajtNFOb9I5XRb6khyfD1Yt3YiCgQ WMNW649887VGJiGr/L5i2osbl8C9+WJTeucF+S76xFxdU6jE0NQ+Z+zEdhUTooNR aY5nZiu5PgDB0ED/ZKBUSLKL7eibMxZtMlUDHjm4gwQco1KRMDSmXSMkDwIDAQAB AoGAfY9LpnuWK5Bs50UVep5c93SJdUi82u7yMx4iHFMc/Z2hfenfYEzu+57fI4fv xTQ//5DbzRR/XKb8ulNv6+CHyPF31xk7YOBfkGI8qjLoq06V+FyBfDSwL8KbLyeH m7KUZnLNQbk8yGLzB3iYKkRHlmUanQGaNMIJziWOkN+N9dECQQD0ONYRNZeuM8zd 8XJTSdcIX4a3gy3GGCJxOzv16XHxD03GW6UNLmfPwenKu+cdrQeaqEixrCejXdAF z/7+BSMpAkEA8EaSOeP5Xr3ZrbiKzi6TGMwHMvC7HdJxaBJbVRfApFrE0/mPwmP5 rN7QwjrMY+0+AbXcm8mRQyQ1+IGEembsdwJBAN6az8Rv7QnD/YBvi52POIlRSSIM V7SwWvSK4WSMnGb1ZBbhgdg57DXaspcwHsFV7hByQ5BvMtIduHcT14ECfcECQATe aTgjFnqE/lQ22Rk0eGaYO80cc643BXVGafNfd9fcvwBMnk0iGX0XRsOozVt5Azil psLBYuApa66NcVHJpCECQQDTjI2AQhFc1yRnCU/YgDnSpJVm1nASoRUnU8Jfm3Oz uku7JUXcVpt08DFSceCEX9unCuMcT72rAQlLpdZir876 -----END RSA PRIVATE KEY-----'; openssl_private_decrypt(ConvertFromURL($dataPost), $decryptedWord, $privateKey); ReturnData(base64_encode($decryptedWord)); </code></pre> <p>Now the answer from PHP is empty every time. Any ideas to make this work?</p> <p>Thank you for your time!</p> </div>

RSA加密不同服务器不一致

使用RSA加密,一台服务器能够成功,放到另一台服务器上面加密处理的结果完全不同, 导致下游不能解密,这个和服务器的什么有关系,着急!!!

js里的rsa加密 可以用后台的代替吗

网站在jsp里用rsa对帐号密码加密,写爬虫能否不用js的rsa(就是不写jsp登录),直接在后台加密然后传到相应的URL进行登录。

我可以用Java进行RSA加密但是用PHP解密吗?

<div class="post-text" itemprop="text"> <p>Can I RSA-encrypt in J2ME or J2SE, and decrypt in PHP?</p> <p>I assume RSA is a specification, and has nothing to do with the languages.</p> </div>

RSA加密jar包已导入import报错

这个是rsa加密是导入包后仍然报错 ![图片说明](https://img-ask.csdn.net/upload/201710/21/1508555971_225646.jpg) maven项目,jar包依赖已经导入 错误提示 :The import com.netfinworks cannot be resolved 怎么解决?? ``` <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.54</version> </dependency> ```

RSA解密异常,求大神指点

public string Encryption(string strKey) { CspParameters param = new CspParameters(); param.KeyContainerName = "Rich_CRM";//密匙容器的名称,保持加密解密一致才能解密成功 using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param)) { byte[] plaindata = Encoding.Default.GetBytes(strKey);//将要加密的字符串转换为字节数组 byte[] encryptdata = rsa.Encrypt(plaindata, false);//将加密后的字节数据转换为新的加密字节数组 return Convert.ToBase64String(encryptdata);//将加密后的字节数组转换为字符串 } } //解密 public string Decrypt(string ciphertext) { CspParameters param = new CspParameters(); param.KeyContainerName = "Rich_CRM"; using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param)) { byte[] encryptdata = Convert.FromBase64String(ciphertext); byte[] decryptdata = rsa.Decrypt(encryptdata, true); return Encoding.Default.GetString(decryptdata); } } 同样的代码,用winform测试都是可以的,但是写webservice的时候,解密执行到byte[] decryptdata = rsa.Decrypt(encryptdata, true);会有问题,没有报错,直接跳出去了,这是为什么?求大神指点

RSA加密报错,哪位遇到过类似问题~跪求指点

import java.security.Key; import java.util.HashMap; import java.util.Map; import javax.crypto.Cipher; import sun.misc.BASE64Decoder; public String decrypt(){ Map<String, Object> keyMap= new HashMap<String, Object>(4); String decryptModeCode = null; Cipher cipher = null; BASE64Decoder decoder = new BASE64Decoder(); try { cipher = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(javax.crypto.Cipher.DECRYPT_MODE, (Key) keyMap.get("RSAPrivateKey")); decryptModeCode = new String(cipher.doFinal(decoder.decodeBuffer("中文")),"gb2312"); System.out.println("decryptModeCode is : " + decryptModeCode ); } catch (Exception e) { e.printStackTrace(); } return decryptModeCode; }

RSA等非对称加密解密的问题

已知明文为123 用私钥加密123得到密文456 (不使用数据填充,每次加密相同的明文都会得到相同的密文) 使用公钥解密456会得到123 我的问题是 已知公钥和明文123能计算出私钥加密生产的密文456吗

java使用Cipher 执行RSA解密报错

padding选取都是一样的,加密成功,解密失败,很奇怪。 #主要代码 public static byte[] rsa_encrypt(byte[] bArr, byte[] bArr2) { try { Key a = MyKey.getPublicKey(bArr2); if(a == null) System.out.println("get pub key error!"); Cipher instance = Cipher.getInstance("RSA/ECB/PKCS1Padding"); instance.init(Cipher.ENCRYPT_MODE, a); return instance.doFinal(bArr); } catch (Exception e) { e.printStackTrace(); return null; } } public static byte[] rsa_decrypt(byte[] bArr, byte[] bArr2) { try { Key a = MyKey.getPrivateKey(bArr2); if(a == null) System.out.println("get pri key error!"); Cipher instance = Cipher.getInstance("RSA/ECB/PKCS1Padding"); instance.init(Cipher.DECRYPT_MODE, a); return instance.doFinal(bArr); } catch (Exception e) { e.printStackTrace(); return null; } } #报错信息 javax.crypto.BadPaddingException: Decryption error at sun.security.rsa.RSAPadding.unpadV15(Unknown Source) at sun.security.rsa.RSAPadding.unpad(Unknown Source) at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:363) at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:389) at javax.crypto.Cipher.doFinal(Cipher.java:2164) at qqpinyin.EncryptTool.rsa_decrypt(EncryptTool.java:134) at qqpinyin.main.key_decrypt(main.java:80) at qqpinyin.main.main(main.java:96)

怎么能通过js实现rsa加密

如题,想实现js的rsa加密,ajax传输密文。用openssl生成证书

前端js 进行rsa加密的问题

情况大致如下: 1.前端需要对传输内容进行加密 ,采用加密方式为RSA加密 2.从后端能获取的数据 有: 1:RSA 模数 2: 公钥指数 仅仅能获取到这两个 求问: 前端如何计算出 publicKey ?

rsa加密解密功能实现方法

使用java写个RSA加解密的方法来实现用户登录时密码加密功能

JAVA和IOS对接RSA加密问题

公司开发IOS APP,跟JAVA后台对接。在加密方面,使用的是RSA。在JAVA端生成的公钥和私钥,通过BASE64转成字符串。然后在IOS端,如果直接拿着这个转化的字符串密钥(通过BASE64解密后)去做RSA加密的话,这边JAVA端解密会失败。所以,请问下,在密钥方面应该怎么处理呢?JAVA端生成的密钥怎样处理给到IOS端才会成功?谢谢!

用RSA加密方式加密后的密文太长

最近在搞License,用RSA对其加密后感觉加密后的字符串太长 如果想让其长度固定8位 或16位 怎么做?请各位前辈指导指导,谢谢啦

Mvc使用RSA加密解密出现问题

mvc中,cshtml前端的JavaScript中RSA加密,后台controller的action进行解密,我使用IE浏览器进行RSA加密解密是没问题的,到那时我使用google浏览器进行RSA加密解密就出问题了,报错:数据不正确,请问哪位大神知道为什么呀?不吝赐教,谢谢了

rsa加密的出来的密文乱码 如何,怎么解决

需求是将随机数加密 ,获得密文以后 在后台输入 。通过密文跟私钥进行解密, 然而这个密文乱码了,怎么破?如图 ![图片说明](https://img-ask.csdn.net/upload/201805/26/1527334052_208683.jpg) 在线等立马。给分

ios RSA加密解密,后台只传一个公钥

如题,后台用java写的,写的时候没考虑iOS,现在后台不想改,就想这样,各位大神怎么实现这个?

javaRSA验证及解密失败

背景: java代码中生成公钥、私钥、签名。使用私钥对一待加密的数据进行加密,在这里通过 RSAUtils.verify(encodedData, publicKey, sign);//验证是正确的。 然后,通过POST请求将数据传递到java中的另一个方法(是为了模拟跨服务器传递数据),然后可以得到公钥,签名,以及加密好的数据。 在控制台可以看到数据相同的,但是验证失败,以及解密失败。这是什么原因造成的呢?![图片说明](https://img-ask.csdn.net/upload/201502/03/1422949582_610839.png)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问