小狐狸钱包怎么导出 Keystore JSON 文件
MetaMask 怎么导出 Keystore JSON?直接答:MetaMask 浏览器扩展不内置 Keystore 导出,需先用 Show Private Key 导出私钥,再用 MyEtherWallet 离线版「View & Send Tx → Save Keystore」生成 JSON 文件。本文按真实生成步骤拆细。
MetaMask 怎么导出 Keystore JSON 文件?直接答:MetaMask 自身不内置 Keystore 导出按钮——需要先在 MetaMask 用 Show Private Key 导出 64 位私钥,然后打开 MyEtherWallet 离线版(download.mycrypto.com)→ Access Wallet → Software → Private Key → 粘贴私钥 → 解锁后选「Save Keystore File」→ 设密码 → 下载 JSON。整个流程 3-5 分钟。Keystore = 用密码加密保护的私钥,密码即使弱也会比裸私钥稍安全。
如果导出 Keystore 后想做出金,可顺路准备 币安官网 配合 币安官方App 走 C2C。下载入口对照见 下载页。
为什么 MetaMask 不直接导出 Keystore
A:MetaMask 团队出于「降低用户复杂度」考虑只提供助记词与私钥两种导出——Keystore 被认为是技术用户的需求,故由第三方工具(如 MEW / MyCrypto)提供。
| 钱包 | Keystore 导出 |
|---|---|
| MetaMask | 否(需 MEW 中转) |
| MyEtherWallet | 是 |
| imToken 早期 | 是 |
| Trust Wallet | 否 |
第 1 步:从 MetaMask 导出私钥
按 私钥导出 分类的「Show private key」流程拿到 64 位十六进制字符串。
| 步骤 | 操作 |
|---|---|
| 1 | 主界面右上 ⋯ → Account details |
| 2 | Show private key |
| 3 | 输入本地密码 |
| 4 | 复制 0x... 私钥 |
第 2 步:下载 MyEtherWallet 离线版
A:绝不在网页版输入私钥——必须下载离线版 zip 包再断网运行——这是社区共识的安全实践。
| 来源 | 域名 |
|---|---|
| MyCrypto 离线版 | download.mycrypto.com |
| MyEtherWallet 离线版 | github.com/MyEtherWallet/MyEtherWallet/releases |
下载后解压,关闭网络(拔网线 / 关 WiFi) 再用浏览器打开里面的 index.html。
第 3 步:在 MEW 离线版输入私钥
| 操作 | 说明 |
|---|---|
| Access Wallet | 选 Software |
| 类型 | Private Key |
| 粘贴 | 64 位私钥 |
| 解锁 | 进入主界面 |
第 4 步:选 Save Keystore File
主界面侧栏 → 「Save Keystore File / 备份钱包」→ 弹窗输入 Keystore 加密密码(≥ 12 位强密码)→ 确认 → 下载 .json 文件。
A:Keystore 密码丢了 = 文件失效——一定要记到密码管理器,不要凭记忆。
第 5 步:核对文件内容
打开下载的 keystore.json,文本编辑器查看:
{ "version": 3, "id": "...", "address": "...", "crypto": { ... } }
| 字段 | 验证 |
|---|---|
| version | 必须是 3(V3 格式) |
| address | 不带 0x 的地址,与 MetaMask 显示一致 |
| crypto.kdf | scrypt 或 pbkdf2 |
| crypto.cipher | aes-128-ctr |
第 6 步:移到加密容器
下载默认在「下载文件夹」,立即移到加密容器:
| 系统 | 加密容器 |
|---|---|
| macOS | 加密磁盘镜像(Disk Utility) |
| Windows | BitLocker To Go |
| 跨平台 | VeraCrypt |
| 云端加密 | Cryptomator |
参考 助记词备份 分类的存储策略。
Keystore vs 私钥 vs 助记词
| 凭证 | 加密 | 范围 | 文件性质 |
|---|---|---|---|
| 助记词 | 否 | 整组钱包 | 12-24 词 |
| 私钥 | 否 | 单地址 | 64 位字符串 |
| Keystore | 是(密码) | 单地址 | JSON 文件 |
A:Keystore = 用密码加密保护的私钥——比裸私钥多了一层密码门槛。
Keystore 加密参数选择
scrypt 参数 N 越大解密越慢但越抗暴力破解:
| N 值 | 耗时(PC) | 抗暴力 |
|---|---|---|
| 1024 | < 1 秒 | 弱 |
| 8192 | 1-3 秒 | 中 |
| 65536 | 3-10 秒 | 强 |
| 131072 | 5-15 秒 | 很强 |
A:MEW 默认 N=8192,对普通用户够用——大额资产建议手动选 65536+。
真实使用场景
场景 1:私钥裸存改 Keystore
用户原来把 64 位私钥手抄在纸条,升级成 Keystore 加密文件——增加密码层次。
场景 2:分两处保存
A:Keystore 文件存 U 盘 + 密码存密码管理器——两处分离需要同时拿到才能用——多一道防线。
场景 3:跨钱包迁移
把 MetaMask Imported Account 通过 Keystore 转给 MyEtherWallet 或老 Geth 客户端用。
真实失败案例
案例 1:N 值过小
A:Keystore N=1024 时密码 8 位以下能在 1 小时内暴力破解——大额资产设 N=131072 + 密码 12 位以上。
案例 2:密码与 MetaMask 本地密码相同
用户两个密码用同一个,一处泄露等于两处都失守——必须独立。
案例 3:Keystore 文件存到 GitHub
A:Keystore 不是「公开文件」——存到 GitHub 任意 repo 等于公开——必须本地加密保存。
安全注意事项
第 1 步:MEW 必须离线运行
下载 zip 后解压,断网情况下打开 index.html——确保私钥不离开本地。
第 2 步:操作完关闭浏览器
A:MEW 在浏览器内存里持有解密后的私钥——操作完关闭浏览器进程清空内存。
第 3 步:Keystore 与密码分离
文件放 U 盘,密码放密码管理器或纸条——两处分离才有意义。
资产准备出金可以打开 币安官网 配合 币安官方App 完成。
实操核对清单
- [ ] MetaMask 已导出私钥
- [ ] MEW 离线版已下载并断网
- [ ] 私钥粘入 MEW 后能看到正确地址
- [ ] Keystore 密码 ≥ 12 位强度
- [ ] N 值已选 8192 或更高
- [ ] keystore.json 已下载并核对 version 字段
- [ ] 文件移到加密容器
- [ ] 密码存到密码管理器
- [ ] 浏览器已关闭
FAQ
Q:MetaMask 真的没有 Keystore 导出按钮吗? A:当前版本(11.x)确实没有。Reddit 上的功能请求长期未实现。需借助 MEW / MyCrypto。
Q:在线版 MEW 输入私钥安全吗? A:理论上 MEW 网页是前端代码,私钥不离开浏览器。但供应链攻击或 DNS 劫持都有风险,离线版最稳。
Q:Keystore 文件名能改吗? A:能改。MetaMask 与 MEW 都按 address 字段识别钱包,文件名只是命名约定。
Q:Keystore 解密密码能不能找回? A:不能。scrypt + AES 加密无后门,密码丢了文件等于废文件。
Q:能不能让 Keystore 加密更强? A:在 MEW 里调 N 参数到 131072,抗暴力破解能力大幅提升,但解密耗时也成正比增长。
Q:导出的 Keystore 能不能再导回 MetaMask? A:能。MetaMask 「Import Account → JSON File」直接接受 V3 格式 Keystore。
Q:本站对 Keystore 导出的核心建议? A:本站建议用 MEW 离线版生成 + N=65536+ 强密码 + 文件与密码分两处保存 + 操作完关闭浏览器——按这个流程 Keystore 是私钥的更安全替代品。