PageSourceSearch

https://aaron67.cc/2024/10/bitcoin-private-key/

html aaron67.cc collected 2026-10-08 13:28:00 UTC 19,856 bytes, 481 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4  <meta charset="UTF-8">
5<meta name="viewport" content="width=device-width">
6<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 8.1.1">
7
8  <link rel="apple-touch-icon" sizes="180x180" href="/images/favicon.png">
9  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon.png">
10  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon.png">
11  <link rel="mask-icon" href="/images/favicon.png" color="#222">
12
13<link rel="stylesheet" href="/css/main.css">
14
15
16
17<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css" integrity="sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM=" crossorigin="anonymous">
18
19<script class="next-config" data-name="main" type="application/json">{"hostname":"aaron67.cc","root":"/","images":"/images","scheme":"Gemini","darkmode":false,"version":"8.27.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":false,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":true,"style":null},"fold":{"enable":true,"height":200},"language":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":false,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"},"path":"/search.xml","localsearch":{"enable":true,"top_n_per_article":1,"unescape":false,"preload":false,"trigger":"auto"}}</script>
19<script src="/js/config.js" defer></script>
19
20
21    <meta name="description" content="比特币的私钥是一个小于 n 的正整数。n 的值等于 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 换算成十进制为 115792089237316195423570985008687907852837564279074904382605163141518161494337 这是一个非常大的数,它介于 2255 和">
22<meta property="og:type" content="article">
23<meta property="og:title" content="比特币的私钥">
24<meta property="og:url" content="https://aaron67.cc/2024/10/bitcoin-private-key/index.html">
25<meta property="og:site_name" content="aaron67&#39;s log">
26<meta property="og:description" content="比特币的私钥是一个小于 n 的正整数。n 的值等于 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 换算成十进制为 115792089237316195423570985008687907852837564279074904382605163141518161494337 这是一个非常大的数,它介于 2255 和">
27<meta property="og:locale" content="zh_CN">
28<meta property="article:published_time" content="2024-10-25T16:00:00.000Z">
29<meta property="article:modified_time" content="2026-01-07T04:01:24.640Z">
30<meta property="article:author" content="aaron67">
31<meta property="article:tag" content="WIF">
32<meta property="article:tag" content="bitcoin">
33<meta name="twitter:card" content="summary">
34
35
36<link rel="canonical" href="https://aaron67.cc/2024/10/bitcoin-private-key/">
37
38
39<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"https://aaron67.cc/2024/10/bitcoin-private-key/","path":"2024/10/bitcoin-private-key/","title":"比特币的私钥"}</script>
39
40
41<script class="next-config" data-name="calendar" type="application/json">""</script>
41
42<title>比特币的私钥 | aaron67's log</title>
43  
44
45
46
47
48
49
50
51
52  
53  
53<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous" defer></script>
vendor: 1 bytes, line 53
53
54<script src="/js/utils.js" defer></script>
54<script src="/js/sidebar.js" defer></script>
54<script src="/js/next-boot.js" defer></script>
54
55
56  
56<script src="https://cdnjs.cloudflare.com/ajax/libs/hexo-generator-searchdb/1.5.0/search.js" integrity="sha256-xFC6PJ82SL9b3WkGjFavNiA9gm5z6UBxWPiu4CYjptg=" crossorigin="anonymous" defer></script>
vendor: 1 bytes, line 56
56
57<script src="/js/third-party/search/local-search.js" defer></script>
57
58
59
60
61
62
63
64
65  
66  
66<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
66
67
68
69  
69<script class="next-config" data-name="leancloud_visitors" type="application/json">{"enable":true,"app_id":"3OGvGQFNHHpXD87RkI2jWpqY-gzGzoHsz","app_key":"sm1iVBEk7Y40mMlF9cjj4HdG","server_url":"https://leancloud.cn","security":false}</script>
69
70  
70<script src="/js/third-party/statistics/lean-analytics.js" defer></script>
70
71
72
73  
74
75  
75<script class="next-config" data-name="enableMath" type="application/json">true</script>
75<script class="next-config" data-name="mathjax" type="application/json">{"enable":true,"tags":"none","js":{"url":"https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.js","integrity":"sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI="}}</script>
vendor: 1 bytes, line 75
75
76<script src="/js/third-party/math/mathjax.js" defer></script>
76
77
78
79
80  <noscript>
81    <link rel="stylesheet" href="/css/noscript.css">
82  </noscript>
83</head>
84
85<body itemscope itemtype="http://schema.org/WebPage">
86  <div class="headband"></div>
87
88  <main class="main">
89    <div class="column">
90      <header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
91  <div class="site-nav-toggle">
92    <div class="toggle" aria-label="切换导航栏" role="button">
93        <span class="toggle-line"></span>
94        <span class="toggle-line"></span>
95        <span class="toggle-line"></span>
96    </div>
97  </div>
98
99  <div class="site-meta">
100
101    <a href="/" class="brand" rel="start">
102      <i class="logo-line"></i>
103      <p class="site-title">aaron67's log</p>
104      <i class="logo-line"></i>
105    </a>
106      <p class="site-subtitle" itemprop="description">花拳绣腿 & 柴米油盐</p>
107  </div>
108
109  <div class="site-nav-right">
110    <div class="toggle popup-trigger" aria-label="搜索" role="button">
111        <i class="fa fa-search fa-fw fa-lg"></i>
112    </div>
113  </div>
114</div>
115
116
117
118<nav class="site-nav">
119  <ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签<span class="badge">9</span></a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档<span class="badge">5</span></a></li><li class="menu-item menu-item-about"><a href="/me/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a></li>
120      <li class="menu-item menu-item-search">
121        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
122        </a>
123      </li>
124  </ul>
125</nav>
126
127
128
129  <div class="search-pop-overlay">
130    <div class="popup search-popup">
131      <div class="search-header">
132        <span class="search-icon">
133          <i class="fa fa-search"></i>
134        </span>
135        <div class="search-input-container">
136          <input autocomplete="off" autocapitalize="off" maxlength="80"
137                placeholder="搜索..." spellcheck="false"
138                type="search" class="search-input">
139        </div>
140        <span class="popup-btn-close" role="button">
141          <i class="fa fa-times-circle"></i>
142        </span>
143      </div>
144      <div class="search-result-container">
145        <div class="search-result-icon">
146          <i class="fa fa-spinner fa-pulse fa-5x"></i>
147        </div>
148      </div>
149    </div>
150  </div>
151
152</header>
153        
154  
155  <aside class="sidebar">
156
157    <div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
158      <ul class="sidebar-nav">
159        <li class="sidebar-nav-toc">
160          文章目录
161        </li>
162        <li class="sidebar-nav-overview">
163          站点概览
164        </li>
165      </ul>
166
167      <div class="sidebar-panel-container">
168        <!--noindex-->
169        <div class="post-toc-wrap sidebar-panel">
170            <div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#wif"><span class="nav-number">1.</span> <span class="nav-text">WIF</span></a></li></ol></div>
171        </div>
172        <!--/noindex-->
173
174        <div class="site-overview-wrap sidebar-panel">
175          <div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
176    <img class="site-author-image" itemprop="image" alt="aaron67"
177      src="/images/avatar.png">
178  <p class="site-author-name" itemprop="name">aaron67</p>
179  <div class="site-description" itemprop="description"></div>
180</div>
181<div class="site-state-wrap animated">
182  <nav class="site-state">
183      <div class="site-state-item site-state-posts">
184        <a href="/archives/">
185          <span class="site-state-item-count">5</span>
186          <span class="site-state-item-name">日志</span>
187        </a>
188      </div>
189      <div class="site-state-item site-state-tags">
190          <a href="/tags/">
191        <span class="site-state-item-count">9</span>
192        <span class="site-state-item-name">标签</span></a>
193      </div>
194  </nav>
195</div>
196  <div class="links-of-author animated">
197      <span class="links-of-author-item">
198        <a href="https://github.com/gitzhou" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;gitzhou" rel="noopener me" target="_blank"><i class="fab fa-github fa-fw"></i></a>
199      </span>
200      <span class="links-of-author-item">
201        <a href="mailto:[email protected]" title="E-Mail → mailto:[email protected]" rel="noopener me"><i class="fa fa-envelope fa-fw"></i></a>
202      </span>
203      <span class="links-of-author-item">
204        <a href="https://twitter.com/dailyzhou" title="Twitter → https:&#x2F;&#x2F;twitter.com&#x2F;dailyzhou" rel="noopener me" target="_blank"><i class="fab fa-twitter fa-fw"></i></a>
205      </span>
206  </div>
207
208        </div>
209      </div>
210    </div>
211
212    
213  </aside>
214
215
216    </div>
217
218    <div class="main-inner post posts-expand">
219
220
221  
222
223
224<div class="post-block">
225  
226  
227
228  <article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-CN">
229    <link itemprop="mainEntityOfPage" href="https://aaron67.cc/2024/10/bitcoin-private-key/">
230
231    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
232      <meta itemprop="image" content="/images/avatar.png">
233      <meta itemprop="name" content="aaron67">
234    </span>
235
236    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
237      <meta itemprop="name" content="aaron67's log">
238      <meta itemprop="description" content="">
239    </span>
240
241    <span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
242      <meta itemprop="name" content="比特币的私钥 | aaron67's log">
243      <meta itemprop="description" content="">
244    </span>
245      <header class="post-header">
246        <h1 class="post-title" itemprop="name headline">
247          比特币的私钥
248        </h1>
249
250        <div class="post-meta-container">
251          <div class="post-meta">
252    <span class="post-meta-item">
253      <span class="post-meta-item-icon">
254        <i class="far fa-calendar"></i>
255      </span>
256      <span class="post-meta-item-text">发表于</span>
257
258      <time title="创建时间:2024-10-26 00:00:00" itemprop="dateCreated datePublished" datetime="2024-10-26T00:00:00+08:00">2024-10-26</time>
259    </span>
260
261  
262    <span id="/2024/10/bitcoin-private-key/" class="post-meta-item leancloud_visitors" data-flag-title="比特币的私钥" title="阅读次数">
263      <span class="post-meta-item-icon">
264        <i class="far fa-eye"></i>
265      </span>
266      <span class="post-meta-item-text">阅读次数:</span>
267      <span class="leancloud-visitors-count"></span>
268    </span>
269</div>
270
271        </div>
272      </header>
273
274    
275    
276    
277    <div class="post-body" itemprop="articleBody"><p>比特币的私钥是一个<strong>小于 n 的正整数</strong>。n 的值等于</p>
278<pre><code class="highlight plaintext">0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141</code></pre>
279<p>换算成十进制为</p>
280<pre><code class="highlight plaintext">115792089237316195423570985008687907852837564279074904382605163141518161494337</code></pre>
281<p>这是一个非常大的数,它介于 <span
282class="math inline">2<sup>255</sup></span> 和 <span
283class="math inline">2<sup>256</sup></span> 之间。</p>
284<p><img
285src="https://aaron67-public.oss-cn-beijing.aliyuncs.com/202410261119053.png" /></p>
286<span id="more"></span>
287<p>在发送比特币等链上资产时,需要用私钥创建数字签名以证明用户对这些资产的控制权。丢失或泄露私钥都意味着资金损失,所以对私钥的保护十分重要,具体可以分为三个方面:</p>
288<ul>
289<li>生成私钥,使用安全的随机源保证他人无法用可重复的过程碰撞出你的私钥</li>
290<li>存储和使用私钥,保证你的私钥不会泄漏给他人或被他人窃取</li>
291<li>备份私钥,让你在意外丢失私钥时还能从备份恢复它</li>
292</ul>
293<h1 id="wif">WIF</h1>
294<p>可以直接使用十进制或十六进制来表示私钥,但为了转录方便避免抄写错误,私钥一般会被编码成
295WIF(Wallet Import Format)格式。</p>
296<p>WIF 是对私钥 <a href="/2024/10/bitcoin-base58check/" title="Base58Check 编码">Base58Check</a> 编码的结果,因为一些历史原因,WIF
297分为压缩(compressed)和不压缩(uncompressed)两种格式。对于要编码的私钥:</p>
298<pre><code class="highlight plaintext">0xF97C89AAACF0CD2E47DDBACC97DAE1F88BEC49106AC37716C451DCDD008A4B62</code></pre>
299<ol type="1">
300<li>根据网络类型在私钥前添加前缀,例如比特币主网(Mainnet)要添加 0x80
301前缀。</li>
302</ol>
303<pre><code class="highlight plaintext">0x80F97C89AAACF0CD2E47DDBACC97DAE1F88BEC49106AC37716C451DCDD008A4B62</code></pre>
304<ol start="2" type="1">
305<li>根据压缩格式在私钥后添加后缀,WIF compressed 要添加 0x01 后缀,WIF
306uncompressed 不添加任何后缀。</li>
307</ol>
308<pre><code class="highlight plaintext"># WIF compressed
3090x80F97C89AAACF0CD2E47DDBACC97DAE1F88BEC49106AC37716C451DCDD008A4B6201
310# WIF uncompressed
3110x80F97C89AAACF0CD2E47DDBACC97DAE1F88BEC49106AC37716C451DCDD008A4B62</code></pre>
312<ol start="3" type="1">
313<li>对上一步的结果做 Base58Check 编码。</li>
314</ol>
315<pre><code class="highlight plaintext"># WIF compressed
316L5agPjZKceSTkhqZF2dmFptT5LFrbr6ZGPvP7u4A6dvhTrr71WZ9
317# WIF uncompressed
3185KiANv9EHEU4o9oLzZ6A7z4xJJ3uvfK2RLEubBtTz1fSwAbpJ2U</code></pre>
319<p>对同一个私钥,不同的网络类型和不同的 WIF
320格式会得到不同的编码结果。</p>
321<table>
322<colgroup>
323<col style="width: 8%" />
324<col style="width: 15%" />
325<col style="width: 5%" />
326<col style="width: 5%" />
327<col style="width: 65%" />
328</colgroup>
329<thead>
330<tr class="header">
331<th>网络</th>
332<th>WIF 压缩格式</th>
333<th>前缀</th>
334<th>后缀</th>
335<th>WIF</th>
336</tr>
337</thead>
338<tbody>
339<tr class="odd">
340<td>Mainnet</td>
341<td>compressed</td>
342<td>0x80</td>
343<td>0x01</td>
344<td>L5agPjZKceSTkhqZF2dmFptT5LFrbr6ZGPvP7u4A6dvhTrr71WZ9</td>
345</tr>
346<tr class="even">
347<td>Mainnet</td>
348<td>uncompressed</td>
349<td>0x80</td>
350<td>无</td>
351<td>5KiANv9EHEU4o9oLzZ6A7z4xJJ3uvfK2RLEubBtTz1fSwAbpJ2U</td>
352</tr>
353<tr class="odd">
354<td>Testnet</td>
355<td>compressed</td>
356<td>0xEF</td>
357<td>0x01</td>
358<td>
358cVwfreZB3i8iv9JpdSStd9PWhZZGGJCFLS4rEKWfbkahibwhticA</td>
359</tr>
360<tr class="even">
361<td>Testnet</td>
362<td>uncompressed</td>
363<td>0xEF</td>
364<td>无</td>
365<td>93UnxexmsTYCmDJdctz4zacuwxQd5prDmH6rfpEyKkQViAVA3me</td>
366</tr>
367</tbody>
368</table>
369<p>在 WIF
370中编码额外的前缀和后缀信息,是为了方便钱包软件在用户导入私钥时能正确的初始化。私钥只是一个大整数,压缩和不压缩是
371WIF 的两种格式,私钥本身不能被“压缩”。</p>
372
373    </div>
374
375    
376    
377    
378
379    <footer class="post-footer">
380          
381
382<div class="post-copyright">
383<ul>
384  <li class="post-copyright-author">
385      <strong>本文作者: </strong>aaron67
386  </li>
387  <li class="post-copyright-link">
388      <strong>本文链接:</strong>
389      <a href="https://aaron67.cc/2024/10/bitcoin-private-key/" title="比特币的私钥">https://aaron67.cc/2024/10/bitcoin-private-key/</a>
390  </li>
391  <li class="post-copyright-license">
392      <strong>版权声明: </strong>本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" rel="noopener" target="_blank"><i class="fab fa-fw fa-creative-commons"></i>BY-NC-SA</a> 许可协议。转载请注明出处!
393  </li>
394</ul>
395</div>
396
397          <div class="post-tags">
398              <a href="/tags/bitcoin/" rel="tag"># bitcoin</a>
399              <a href="/tags/wif/" rel="tag"># WIF</a>
400          </div>
401
402        
403
404          <div class="post-nav">
405            <div class="post-nav-item">
406                <a href="/2024/10/bitcoin-base58check/" rel="prev" title="Base58Check 编码">
407                  <i class="fa fa-angle-left"></i> Base58Check 编码
408                </a>
409            </div>
410            <div class="post-nav-item">
411            </div>
412          </div>
413    </footer>
414  </article>
415</div>
416
417
418
419
420
421
422    <div class="comments gitalk-container"></div>
423</div>
424  </main>
425
426  <footer class="footer">
427    <div class="footer-inner">
428
429  <div class="copyright">
430    &copy; 
431    <span itemprop="copyrightYear">2026</span>
432    <span class="with-love">
433      <i class="fa fa-heart"></i>
434    </span>
435    <span class="author" itemprop="copyrightHolder">aaron67</span>
436  </div>
437<div class="busuanzi-count">
438    <span class="post-meta-item" id="busuanzi_container_site_uv">
439      <span class="post-meta-item-icon">
440        <i class="fa fa-user"></i>
441      </span>
442      <span class="site-uv" title="总访客量">
443        <span id="busuanzi_value_site_uv"></span>
444      </span>
445    </span>
446    <span class="post-meta-item" id="busuanzi_container_site_pv">
447      <span class="post-meta-item-icon">
448        <i class="fa fa-eye"></i>
449      </span>
450      <span class="site-pv" title="总访问量">
451        <span id="busuanzi_value_site_pv"></span>
452      </span>
453    </span>
454</div>
455
456    </div>
457  </footer>
458
459  
460  <div class="toggle sidebar-toggle" role="button">
461    <span class="toggle-line"></span>
462    <span class="toggle-line"></span>
463    <span class="toggle-line"></span>
464  </div>
465  <div class="sidebar-dimmer"></div>
466  <div class="back-to-top" role="button" aria-label="返回顶部">
467    <i class="fa fa-arrow-up fa-lg"></i>
468    <span>0%</span>
469  </div>
470  <div class="reading-progress-bar"></div>
471
472<noscript>
473  <div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
474</noscript>
475<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/gitalk/1.8.0/gitalk.css" integrity="sha256-AJnUHL7dBv6PGaeyPQJcgQPDjt/Hn/PvYZde1iqfp8U=" crossorigin="anonymous">
476
477<script class="next-config" data-name="gitalk" type="application/json">{"enable":true,"github_id":"gitzhou","repo":"aaron67-log-gitalk","client_id":"c9100f0b2715bdc6b14b","client_secret":"09b89f65cdfe7f408a2325e7d377d9165eed7bfe","admin_user":"gitzhou","distraction_free_mode":true,"proxy":"https://cors-anywhere.azm.workers.dev/https://github.com/login/oauth/access_token","language":null,"body":null,"js":{"url":"https://cdnjs.cloudflare.com/ajax/libs/gitalk/1.8.0/gitalk.min.js","integrity":"sha256-MVK9MGD/XJaGyIghSVrONSnoXoGh3IFxLw0zfvzpxR4="},"path_md5":"74f8bdf1ad9d55fba9e47edb31a6aa27"}</script>
vendor: 1 bytes, line 477
477
478<script src="/js/third-party/comments/gitalk.js" defer></script>
478
479
480</body>
481</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.