Invalid Private Key, Not a valid string or uint8Array

【jsch链接报错invalid privatekey解决密钥格式openssh转rsa】 前段时间对接某家银行时需要对请求报文进行加密请求,但是加密的工具是行方提供的工具进行生成的,在读取生成的对应密钥时发生了报错。 阅读详情

报这种错误:一般在生成private key前面添加"0x"即可解决。我就是在私钥前面添加了"0x"解决了。

在学习web3时,使用助词生成的私钥,然后由私钥导出keystore就报错:

ERROR
Invalid Private Key, Not a valid string or uint8Array
InvalidPrivateKeyError: Invalid Private Key, Not a valid string or uint8Array
    at parseAndValidatePrivateKey (webpack-internal:///./node_modules/web3-eth-accounts/lib/esm/account.js:132:11)
    at eval (webpack-internal:///./node_modules/web3-eth-accounts/lib/esm/account.js:523:32)
    at Generator.next (<anonymous>)
    at eval (webpack-internal:///./node_modules/web3-eth-accounts/lib/esm/account.js:66:67)
    at new Promise (<anonymous>)
    at __awaiter (webpack-internal:///./node_modules/web3-eth-accounts/lib/esm/account.js:48:10)
    at Object.encrypt (webpack-internal:///./node_modules/web3-eth-accounts/lib/esm/account.js:521:52)
    at genMnemonic (webpack-internal:///./node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/AccountSys.vue?vue&type=script&setup=true&lang=js:46:42)

开始报错以为是自己没开梯子,但我用之前写的demo是能查询到eth账户余额,于是根据报错信息怀疑是生成的privatekey不对,我照着学习的视频检查了代码跟它一样没问题呀,然后我在生成的私钥前面添加了"0x"就可以了。

//获取钱包私钥
    const privateKey=wallet.getPrivateKey().toString("hex");    
const web3 = new Web3(
        Web3.givenProvider || 'wss://sepolia.infura.io/ws/v3/018c25a8b5ce4f23810c49f60478471f');
    const keystore = web3.eth.accounts.encrypt('0x'+privateKey,'111111');

搞定。

com.jcraft.jsch.JSchException: invalid privatekey: [B@7b98f307 主要原因是生成密钥的时候使用的openssh版本过高导致,其生成的密钥类似如下,而jsch版本低,解析不了高版本的openssh生成的秘钥。查看秘钥一般存储位置系统盘用户目录下,如:C:\Users\tt\.ssh\id_rsa。Enter passphrase:输入秘钥的密码,如果不用加密,直接按Enter键。需要更改的地方,file:id_rsa的绝对路径;如果密钥未使用密码加密,请使用。1、提高jsch版本。2、重新生成经典秘钥。 阅读详情

相关推荐

web3.js运行交易操作文件出现:Error: Expected private key to be an Uint8Array with length 32错误

源码 //app.js文件内容 const reselt = require('dotenv').config(); // 默认读取项目根目录下的.env文件,用process.env.调用 // 1.导入ethereumjs-tx库 var Tx = require('ethereumjs-tx').Transaction; // 2.建立Web3连接 const Web3 = require('web3'); const web3 = new Web3('https://ropsten.infura.i

weixin_46353030的博客 1742

秘钥登录ssh报私钥错误(ssh invalid privatekey)

看了这个文章,JSCH连接SSH报错:Invalid privatekey,里边提到了是版本的问题,我也打开了私钥一看果然也是,抬头直接不一样,服务器上的是BEGIN RSA PRIVATE KEY,但是本地的是BEGIN OPENSSH PRIVATE KEY 服务器的 -----BEGIN RSA PRIVATE KEY----- balabalbalbalbalbbalabalbalbalbalb -----END RSA PRIVATE KEY----- 本机的 -----BEGIN OPE

weixin_42831646的博客 8964

OpenHarmony证书管理全解析:从创建、解析到HTTPS双向认证实战

在分布式应用开发中,证书是构建安全信任体系的基石,它通过非对称加密技术为设备与服务提供身份认证与数据加密保障。其核心原理基于X.509标准,利用公钥基础设施(PKI)实现身份验证与通信安全。在OpenHarmony生态中,证书管理能力通过`security.certManager`等模块提供,对保障设备间安全通信、数据隐私至关重要。开发者需掌握证书的创建、解析、链式校验全流程,并应用于HTTPS请求、双向认证等场景。本文聚焦OpenHarmony证书操作,详解如何通过`certManager`进行证书安装、

weixin_30363981的博客 322

invalid privatekey问题

jenkins com.jcraft.jsch.JSchException: invalid privatekey 默认情况下,最新版本的OpenSSH(7.8及更高版本)会以新的OpenSSH格式生成密钥,其开头为: -----BEGIN OPENSSH PRIVATE KEY----- JSch不支持此密钥格式。 您可以使用ssh-keygen将密钥转换为经典的OpenSSH格式: ssh-keygen -p -f file -m pem -P passphrase -N passphrase (如果密

weixin_40981751的博客 8643

DeepSeek API接入五级成熟度:从能连到敢用的工程实践

AI大模型API接入不是简单的HTTP调用,而是一个涵盖协议兼容、请求校验、流式解析、上下文管理与生产保障的系统工程。以DeepSeek V4 Pro为例,其OpenAI兼容接口表面易用,实则对model name语义、SSE流式格式、token计数精度和context window动态开销高度敏感。开发者常卡在L2请求合规(如model name校验失败)与L3流式响应解析(data:前缀、空chunk、buffer累积)等基础环节;更深层挑战在于L4上下文稳态——本地与云端tokenizer差异、sys

weixin_30599769的博客 456

RsaCtftool安装及使用

RsaCtftool的环境配置稍微有些复杂,如果依赖没有弄全可能老是出一些奇怪的问题,如果按照报错来安装的话,安装一个RsaCtftool让人掉一层皮。。各种报错,而且不是简单的安装包就可以完成的,摸索了很久终于解决了。现在在kali上成功安装。(Ubuntu适用)。 首先需要安装依赖库,如果不安装会出现很多错误,几乎不可能能一步步手动安装解决。不信可以先下一步直接进入安装。 #安装MPFR 解决GMPY2、SymPY时可能产生的报错 v=4.0.1 wget http://www.mpfr.org/mpf

qq_43390703的博客 7035

RSA算法深度解析:从数学原理到跨平台实战应用

非对称加密是现代信息安全体系的基石,它通过公钥和私钥的配对,解决了对称加密中密钥分发的核心难题。其原理基于大数分解等数学难题,确保了即使公钥公开,也无法在有效时间内推算出私钥。这项技术的核心价值在于实现了安全的密钥交换、数字签名和数据加密,广泛应用于HTTPS、SSH、数字证书、支付接口和物联网设备认证等场景。在实际工程中,RSA的实现涉及密钥生成、OAEP填充、性能优化等关键细节,开发者常遇到密钥格式、填充方案不一致导致加解密失败的问题。本文以RSA算法为例,结合Python和JavaScript的代码示

weixin_33849215的博客 403

Windows事件ID 10010报错:DCOM注册超时与Game Bar修复指南

DCOM(分布式组件对象模型)是Windows中用于跨进程组件通信的核心机制,其注册超时问题常表现为事件ID 10010报错。当Game Bar的PresenceWriter组件因权限配置不当、组件损坏或开机资源竞争而无法在限定时间内向DCOM注册时,系统会记录该错误,并可能伴随DCOM服务主机CPU占用升高或游戏栏功能异常。理解DCOM激活原理与Network Service账户权限,有助于从权限修复、组件重注册及开机时序优化等层面系统排查。本文针对不同Windows版本,提供从静默处理到根治的完整方案,

weixin_33563728的博客 858

SpringBoot+Vue前后端分离会话管理实战

会话管理是现代Web应用中的基础安全机制,其核心原理是通过Cookie或Token维持有状态的客户端-服务端交互。在SpringBoot+Vue的前后端分离架构中,需要特别注意HTTP无状态特性带来的会话同步挑战。通过Spring Security的会话销毁机制与Vuex的状态管理协同,可以实现包括JWT黑名单、分布式会话等企业级解决方案。本文以实际生产案例为基础,详细演示如何解决注销环节的前后端状态同步问题,特别针对移动端WebView缓存、多标签页状态同步等典型场景提供经过验证的实施方案。

weixin_34127717的博客 374

南京邮电大学《数学实验》模块二(函数的迭代)参考答案

【代码】南京邮电大学《数学实验》模块二(函数的迭代)参考答案。

qq_1293730064的博客 3万+

FMC/FSMC/EXMC总线NORFlash/PSRAM接口(异步-复用-不突发/同步-复用-突发)

目录 1 简介 1.1 框图 1.2 接口定义 1.3 读写时序图、时序配置参数 1.4 PSRAM控制器异步工作模式分类 1.5 PSRAM寄存器配置 1.5.1 控制寄存器BCR 1.5.2 片选时序寄存器BTR 1.5.3 写入时序寄存器BWTR 2 FPGA接口设计 2.1 实际配置的时序 2.2 接口信号处理 3 参考文献 1 简介 使...

leixj的博客 2万+

公钥与私钥:非对称加密原理与应用实践

非对称加密是现代信息安全的核心技术之一,它通过数学算法生成配对的公钥和私钥实现安全通信。公钥用于加密数据或验证签名,可以公开分发;私钥用于解密数据或生成签名,必须严格保密。这种机制基于大整数分解、离散对数等数学难题,RSA和ECC是当前最主流的算法。在工程实践中,非对称加密广泛应用于TLS/SSL协议、SSH登录、数字签名等场景,与对称加密(如AES)配合使用能兼顾安全性和性能。随着量子计算的发展,后量子密码学正在成为新的研究方向,NIST已启动相关算法标准化工作。开发者应当使用经过验证的加密库(如Open

weixin_34234829的博客 361

Win10系统VS2019+Cmake+qhull_8.0.0环境配置

1 qhull 1.1 简要介绍 qhull是一个强大的计算几何库,可以用于计算高维的convex hull, Delaunay triangulation, Voronoi diagram等。 1.2 依赖库 qhull不依赖其他库。 1.3 源码包下载 qhull源码地址:github:https://github.com/qhull/qhull.git 2 Cmake构建项目 2.1 路径 源代码路径:D:/ThirdParty/qhull/qhull_8.0.0构建项目路径:D:/Thi.

wangchenxue的博客 2489

hackthebox靶场记录(Cap、Connected、Reactor、Facts、WingData、Orion)

HTB靶场:Cap、Connected、Reactor、Facts、WingData、Orion,待更新

qq_43292831的博客 702

ldpc编解码器设计与仿真

计算校验节点到变量节点的消息 m_{c \to v}=2 \cdot atanh(\prod_{v’ \in N©\setminus v}tanh(\frac{m_{v’ \to c}}{2}))。计算变量节点到校验节点的消息 m_{v \to c}=L_{v,0}+\sum_{c’ \in M(v)\setminus c}m_{c’ \to v}。◦ 对于每个变量节点 v,计算最终 LLR 值 L_{v,f}=L_{v,0}+\sum_{c \in M(v)}m_{c \to v}。

youngerwang的博客 808

Unity UI Toolkit避坑指南:从官方Samples到实际项目,这些‘坑’我帮你踩过了

本文分享了Unity UI Toolkit在实际项目中的避坑经验和优化技巧,包括动画系统的高效替代方案、3D世界UI的创新实现方式、USS样式继承的反直觉规则等。通过详细的代码示例和性能优化策略,帮助开发者避免常见陷阱,提升开发效率。

weixin_29535577的博客 342

大模型量化从0到1(八):GGUF 格式彻底解剖——llama.cpp 生态的基石

GGUF是一种专为本地大模型部署设计的文件格式,与量化算法(如AWQ/GPTQ)不同,它致力于将模型权重、结构、分词器等所有必要信息打包成单一文件,实现开箱即用的便捷体验。其核心优势在于: 自包含单文件:整合模型全部组件,避免多文件管理的繁琐。 跨平台兼容性:通过CPU优化和内存映射技术,支持笔记本、Mac等无GPU设备运行。 高效加载设计:文件结构分为元数据(键值对存储配置)和张量数据(分块量化权重),结合偏移定位实现按需加载,节省内存。 灵活量化方案:采用分块量化(如K-quant)和混合精度档位,平衡

weixin_49520696的博客 989

uniapp中renderjs实战:手把手教你实现SSE即时通讯(附完整代码)

本文通过一个完整的实战案例,详细讲解了如何在uni-app中使用RenderJS实现SSE即时通讯功能。文章剖析了RenderJS作为Vue视图层强力补充的原理,并提供了包含自动重连、状态管理等健壮性设计的完整代码,帮助开发者突破框架限制,高效集成浏览器原生API。

weixin_29005499的博客 188

jsch:invalid privatekey:xxx 错误解决

而在开发过程中,服务器的参数无误的前提下产生了invalid privatekey的报错,排错之后发现问题是在java8后的版本中,byte的转换方法发生了改变。上期发布一种在java端通过jsch包和sftp传输协议实现的、不需要知道本机用户和密码就能在已知服务器上获取和上传文件的方。

qq_57362672的博客 1172

PCIe 全解析笔记:从协议本质到工程实现

学习 PCIe,最容易陷入的误区是直接跳进协议手册(Base Spec 1300 多页),然后在 TLP 字段、LTSSM 状态、Ordering Rules 中迷失方向。正确的思维路径历史维度:从 PCI 到 PCIe,解决了什么核心矛盾?抽象维度:协议栈分层的真正意图是什么?工程维度:高速串行链路面临哪些物理挑战?协议如何应对?系统维度:作为 CPU 与外设的"动脉",PCIe 如何融入整个计算机体系?带着这四个视角去看每一个细节,知识才能内化为认知。

m0_46644103的博客 260

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JSCH连接SSH报错:Invalid privatekey

JSCH连接SSH报错:Invalid privatekey 环境版本号 jsch: jsch-0.1.54.jar SSH: OpenSSH_8.0p1, OpenSSL 1.0.2r 26 Feb 2019 jdk: 1.8 报错截图 报错分析 从堆栈来看,在load过程就已经报错,还没有去连接,所以在服务端使用service sshd status命令也不会有本次连接报错的原因。通过debug可以看到,它去加载了密钥文件,然后解析出错。 那么应该是SSH版本太高,工具产生的密钥格式不同了,导致

过了这个村没这个老王的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【已解决】paramiko用户名密码连接主机报错误:Invalid private key记录

Paramiko -- Invalid private key rsa routines:RSA_check_key_ex:iqmp not inverse of q;详解Python远程控制模块:Paramiko概念、方法及Paramiko七大案例

软测小生 6651

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JSCH连接sftp,Invalid private key和algorithm negotiation fail异常解决

这几天项目有个功能涉及sftp,甲方提供了一个xxx.ppk,这个ppk文件是通过PuTTYgen创建的,用来加密的。程序里面是java代码,用jsch插件来建立sftp连接。 一顿操作之后连接测试,报异常: com.jcraft.jsch.JSchException:invalidprivatekey 查询资料得知,使用jsch连接sftp的话,JSch期望私钥是OpenSSH格...

想到就写点东西的博客 8818

git@gitlab invalid privatekey

ssh git代码报错 Caused by: org.eclipse.jgit.errors.TransportException: git@gitlab invalid privatekey 用ssh git代码的时候发现出现 invalid privatekey:的问题 下面展示一些 内联代码片。 Caused by: org.eclipse.jgit.errors.TransportException: git@gitlab.xxx.com:xxx.git: invalid privatekey: [

m0_46562762的博客 1306

kali Linux下RsaCtfTool的安装以及使用

RsaCtfTool是一个RSA多重攻击工具 从弱公钥中解密数据并尝试恢复私钥自动选择给定公钥的最佳攻击 安装: 1.安装RsaCtfTool 2.安装相应环境 RsaCtfTool.py运行需要安装mpfr和mpc

m0_74039565的博客 4083
上一篇: 解决引入ethereumjs-wallet报错Uncaught ReferenceError: process is defined
下一篇: 计算机进制的介绍
developerFBI
博客等级 码龄15年 174粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值