比特幣私鑰生成器
『壹』 物理比特幣如何得到裡面的私匙
比特幣的私鑰就是隨機的256位數字,由0和1組成的二進制數字。這串數字是由可靠的隨機數生成器生成。
然後把這些2進制數轉換成16進制,再轉換成大寫字母就獲得了現在比特幣錢包客戶端中導出的私鑰格式.
或者對這個256位二進制數再進行哈希256得到的結果也可以用來當作私鑰。
『貳』 管好你的「錢包」
Kiwi(WeChat:Kiwind)
一:什麼是私鑰?助記詞?什麼是明文私鑰?以及什麼是keystore ?
1、私鑰: 隨機生成的,用來解鎖對應(錢包)地址的一串字元。生成一個比特幣地址的同時就會有一個私鑰被生成,嚴格來說是, 先生成私鑰,然後通過私鑰使用加密函數來計算出地址 。作為用戶,我們很少會直接看到私鑰,一般情況下,私鑰是被存儲在錢包文件里,由錢包軟體進行管理。下面就是一個比特幣私鑰:
這是對應私鑰生成的地址:
2、助記詞: 其實是 明文私鑰的另一種表現形式 ,因為私鑰是一個64位的哈希值,非常復雜。所以通過助記詞將其簡化。
3、明文私鑰:未加密的私鑰。這意味著任何人只要拿到你的明文私鑰,就可以控制你的錢包資產。 我們時常會聽說用戶被盜幣了,其實就是私鑰泄露,幣被轉走。有時候我們會把地址比作銀行卡號,私鑰比作銀行卡密碼。所以說保護好自己的私鑰有多重要。
4、keystore : 是 加密過後的私鑰 ,需要用用戶生成這個文件時設置的密碼解開,才能夠進行交易操作。如果你備份了keystore 但是忘記了自設密碼,那麼就尷尬了。所以keystore 的同時,也要記住密碼。
二:如何導入錢包?
以imToken為例:
1、官方錢包導入
2、助記詞導入
3、私鑰導入
注意 :
1、imToken目前無法導出明文私鑰,只能導出助記詞和Keystore,但是可以導入明文私鑰。
2、明文私鑰可以去MyEtherWallet,先將Keystore導入,然後導出明文私鑰。具體操作步驟如下:
(1)登陸 myetherwallet.com
(2)點擊View Wallet Info(查看錢包信息),後選擇Keystore File,在右側的灰色區域上傳Keystore文本信息,注意要.txt格式。
(3)上傳完成,輸入imToken上設置的錢包密碼,點擊Unlock解鎖。
(4)導出明文私鑰(切記安全保存)。
3、使用imToken的ETH錢包時,用Keystore導入錢包時,輸入的是之前的密碼。用助記詞和私鑰導入錢包時,輸入的是新的密碼。所以一旦助記詞被盜,黑客是可以設置新的密碼的!
具體說明請看下這篇來自「烏托邦皮條社」彭皓的文章:
http://mp.weixin.qq.com/s/5uNosRiiqpeTYOVR7i2TrQ
『叄』 【區塊鏈】比特幣私鑰、公鑰、簽名
在 了解區塊鏈的基礎名詞概念 提到地址由字元和數字組成,但沒有說明怎樣產生的。銀行卡號由銀行核心系統生成,那比特幣地址是通過什麼生成的呢?看下圖:
對於剛接觸比特幣的小白來說,看到這張圖就蒙圈了,究竟什麼是私鑰、公鑰,為什麼生成個地址要這么麻煩嗎?
現在請大家記住這句話: 私鑰通過橢圓曲線相乘生成公鑰,使用公鑰不能導推出私鑰;公鑰通過哈希函數生成比特幣地址,地址也無法導推出公鑰 。
通過這么復雜演算法才算出地址,那私鑰和公鑰只是為了生成地址嗎?不是的,他們還有其他用途,我們先了解下私鑰和公鑰。
現在已經講解地址、挖礦、工作量證明、算力、區塊、區塊鏈等等的概念,不知大家還有印象嗎?如果忘記請溫習這些概念,因為後續很多地方都會用到這些概念。明天講解下區塊鏈有哪些特點。
參考書籍:《精通比特幣》
區塊鏈知識專題:
比特幣記賬方式(區塊鏈知識2)
了解塊鏈的基礎名詞概念(區塊鏈知識1)
『肆』 8 - HdWalletBTC 生成錢包私鑰地址
生成地址記錄:
private Key:
address:
public Key:
private Key:
address:
public Key:
private Key:
address:
public Key:
『伍』 【貓說】打開比特幣錢包的兩把鑰匙:私鑰、公鑰
如果不了解區塊鏈,不知道公鑰、私鑰這些最基本的概念,擁有錢包對幣圈新人來講,就好像拿手指頭去捅鱷魚的腦袋,風險極高。此文謹獻給幣圈新朋友,幫助大家梳理比特幣錢包的基本常識。
區塊鏈觀察網在 《區塊鏈是什麼》 一文中提到過,在區塊鏈世界裡,每個人都擁有兩把獨一無二的虛擬鑰匙:公鑰和私鑰。
「公鑰」,可以簡單理解為銀行卡,這是可以發給交易對方看的,銀行卡號則相當於比特幣轉賬中要用到的「地址」。
講得專業一點,公鑰就是一個65位元組的字元串,多長呢?130個字母和數字堆在一起。公鑰太長的話,第一交易起來忒麻煩,第二幹嘛非得暴露公鑰的真實內容呢,這就好像把自己的銀行卡拿出來到處給人看。因此,我們現在看到的地址,就是經過摘要演算法生成的、更短一點的公鑰。
對方知道你的地址才能給你打錢;而且,任何人有了你的地址,都能在Blockchain.info官網查詢這個錢包地址交易了多少次(No. Transactions),收過多少個比特幣(Total Received),以及錢包里還剩下多少個比特幣(Final Balance),如下圖:
「私鑰」,就像打死不能告訴別人的銀行卡密碼。它是一串256位的隨機數。因為讓非IT用戶去記住這個滿屏0 和 1的二進制私鑰是特別不人道的事兒,所以對這一大串私鑰進行了處理,最後私鑰就以5 / K / L 開頭的字元串呈現在我們面前。
公鑰、私鑰、地址之間的關系是:
1)私鑰 → 公鑰 → 地址
私鑰生成唯一對應的公鑰,公鑰再生成唯一對應的地址;
2)私鑰加密,公鑰解密
也就是說,A使用私鑰對交易信息進行加密(數字簽名),B則使用A的公鑰對這個數字簽名進行解密。
其中,私鑰是極度私密的東西。如果你把私鑰發給別人,現在就開始寫一部長篇小說吧,名字都幫你想好了,就叫《永別了,比特幣》。
如果是李笑來老師(網傳擁有數十萬個BTC)這類幣圈大佬,強烈建議使用冷錢包(離線錢包),分開儲存;電視里的富豪在銀行有自己的保險箱,有條件的話也可以參考。
當時,上述方法是安全系數最高的做法。但作為韭菜接班人,暫且假設我們最初只用閑置資金、持有少量的比特幣,比如,小於5個。那麼,動輒上千成本、操作復雜的冷錢包就有點殺雞用牛刀了;因此,區塊鏈觀察網把選擇范圍限定在交易所和輕錢包2項:
在交易平台上買了(極少量)比特幣,可以先不提出來,繼續存在交易所。這種方式最適合幣圈新手。在沒有深入了解每種加密貨幣背後的故事之前,鮮嫩的我們總是充滿了好奇,而放在交易所的比特幣,可以直接進行幣幣交易,交易簡單快捷,不用經數字錢包導來導去;另一方面,平台上幣種齊全,可以滿足我們的嘗鮮心理,方便隨時小試牛刀。
而且像火幣、幣安(已被牆)這些大型交易所,不僅安全等級比某些專為收割韭菜而生的小平台高很多,而且操作簡單,很快就能上手,只需保管好自己的賬號、密碼就行了(再安全一級的話,開啟谷歌二次驗證),其他的就交給平台。
值得注意的是,存在交易所上的資產並不完全屬於自己,更確切地說是借給平台的,我們在資產那一欄看到的數字,相當於平台向我們借錢而打的白條。此外,交易平台本身不是去中心化的,如果安全措施不到位,用戶的賬號密碼有可能被黑客拿到。
輕錢包是相對於「全節點」錢包來說的。
全節點錢包,比如 Bitcoin-Core(核心錢包),運行時需要同步所有區塊鏈數據,佔用相當大內存空間(目前至少50GB以上),完全去中心化;
輕錢包雖然也依賴比特幣網路上其他全節點,但其僅僅同步跟自己有關的交易數據,基本實現去中心化的同時,也提升了用戶體驗。
根據不同的設備類型,我們把輕錢包分為:
1)PC錢包:適用於電腦桌面操作系統(如Windows/MacOS/Linus);
2)手機錢包:適用於安卓、iOS智能手機,比如比太錢包(以太也有PC端);
3)網頁錢包:通過瀏覽器訪問,比如上文提過的blockchain網頁版。
輕錢包操作比較簡單,一般是免費獲取。申請錢包的時候,系統會生成一個私鑰。准備敲黑板!
1)不要截圖、拍照存在手機里;
2)不要把私鑰信息發給任何人;
3)最好手寫(幾份)抄下,藏在你覺得最安全的地方。
總之一句話,誰掌握了錢包的私鑰,誰就擁有錢包的絕對控制權。私鑰只要掌握在你的手裡,比特幣就絕不會丟。
最後多說幾句,作為普通投資者,我們需要做的並不多:
1)走點心,不要把手機弄丟了,畢竟丟了對手機里的比特幣錢包有風險;
2)不要手癢刪掉設備上的錢包應用,除非你決定再也不用這個錢包了,否則後期很麻煩;
3)設置復雜的密碼(原因見第1點),並用心去記牢,這是私鑰弄丟以後留的一手。
對於記不住密碼,又懶得科學備份私鑰的朋友,咱還是把錢存在銀行里吧。
『陸』 比特幣的地址、公鑰、私鑰,你都了解了嗎
了解比特幣,就不可避免地要掌握什麼是比特幣的地址、公鑰、私鑰,下面我們一個一個來解釋。
地址,就好比是銀行賬(卡)號,在創建數字錢包後就會自動生成,簡單來說,就是創建錢包的時候,先產生一對私鑰和公鑰,然後公鑰通過一套演算法生成地址,這個地址實質上是一串字元,比如。
像銀行賬(卡)號可以用來收款一樣,比特幣地址也可以用來接收比特幣。
這個比特幣地址不單單給你轉幣的人知道,連整個比特幣網路的人都能查看,可以說,全球所有用戶的地址都可以被任何人知道。為什麼這樣說呢?因為比特幣本質就是一個大型的公開賬本,所有交易對所有人都是可見的。而交易記錄中包括了交易流水單號、發幣人的發幣地址、收幣人地址、發幣人的找零地址。
私鑰,可以看作是銀行密碼,是一串很長的由錢包生成的隨機數,比如, LBB9ZXMCJ。私鑰是唯一能夠證明你擁有的比特幣是屬於你的,也只有用私鑰才能轉賬、交易和使用數字錢包里的比特幣。
我們都知道了,銀行密碼絕對不能泄露給別人,私鑰也一樣,打死也不要告訴他人,否則你的比特幣很容易就被轉走。銀行的錢被盜了,因為有國家監管和第三方信用,還有可能被追回,但比特幣是去中心化的,沒有第三方,自己的幣只能自己負責看管,丟了,或被他人轉走了,就永遠拿不回來了。所以千萬千萬不要把私鑰告訴他人,不要把私鑰保存在手機或者電腦上,不要通過網路傳輸你的私鑰,那怎麼辦?記住了,要用筆寫在紙上,寫兩到三份分別放在不同的地方,保管好。
公鑰,顧名思義,是可以公開的,也是像地址和私鑰一樣,是一串長長的字元。公鑰由私鑰通過橢圓曲線加密演算法生成,通過私鑰可以算出唯一一個公鑰,但公鑰不能逆向推導出私鑰。
那到底比特幣地址、公鑰、私鑰在交易中起什麼作用的呢?
首先,錢包通過加密演算法把私鑰加密成字元串(也叫作簽名),然後把這個字元串,和公鑰一起寫到交易信息里,再發給礦工。礦工收到信息後,就會將簽名、公鑰寫入一個驗證函數,如果得出的結果為「true」,那麼這個交易會被確認為真實有效,就能被驗證通過。而結果為「false」,則說明這筆交易存在問題,不能被驗證通過。
通過以上淺顯的文字,希望能幫到你對比特幣的地址、公鑰和私鑰有一個初步的了解吧!感謝你的閱讀!
『柒』 區塊鏈的加密技術
數字加密技能是區塊鏈技能使用和開展的關鍵。一旦加密辦法被破解,區塊鏈的數據安全性將受到挑戰,區塊鏈的可篡改性將不復存在。加密演算法分為對稱加密演算法和非對稱加密演算法。區塊鏈首要使用非對稱加密演算法。非對稱加密演算法中的公鑰暗碼體制依據其所依據的問題一般分為三類:大整數分化問題、離散對數問題和橢圓曲線問題。第一,引進區塊鏈加密技能加密演算法一般分為對稱加密和非對稱加密。非對稱加密是指集成到區塊鏈中以滿意安全要求和所有權驗證要求的加密技能。非對稱加密通常在加密和解密進程中使用兩個非對稱暗碼,稱為公鑰和私鑰。非對稱密鑰對有兩個特點:一是其間一個密鑰(公鑰或私鑰)加密信息後,只能解密另一個對應的密鑰。第二,公鑰可以向別人揭露,而私鑰是保密的,別人無法通過公鑰計算出相應的私鑰。非對稱加密一般分為三種首要類型:大整數分化問題、離散對數問題和橢圓曲線問題。大整數分化的問題類是指用兩個大素數的乘積作為加密數。由於素數的出現是沒有規律的,所以只能通過不斷的試算來尋找解決辦法。離散對數問題類是指基於離散對數的困難性和強單向哈希函數的一種非對稱分布式加密演算法。橢圓曲線是指使用平面橢圓曲線來計算一組非對稱的特殊值,比特幣就採用了這種加密演算法。非對稱加密技能在區塊鏈的使用場景首要包含信息加密、數字簽名和登錄認證。(1)在信息加密場景中,發送方(記為A)用接收方(記為B)的公鑰對信息進行加密後發送給
B,B用自己的私鑰對信息進行解密。比特幣交易的加密就屬於這種場景。(2)在數字簽名場景中,發送方A用自己的私鑰對信息進行加密並發送給B,B用A的公鑰對信息進行解密,然後確保信息是由A發送的。(3)登錄認證場景下,客戶端用私鑰加密登錄信息並發送給伺服器,伺服器再用客戶端的公鑰解密認證登錄信息。請注意上述三種加密計劃之間的差異:信息加密是公鑰加密和私鑰解密,確保信息的安全性;數字簽名是私鑰加密,公鑰解密,確保了數字簽名的歸屬。認證私鑰加密,公鑰解密。以比特幣體系為例,其非對稱加密機制如圖1所示:比特幣體系一般通過調用操作體系底層的隨機數生成器生成一個256位的隨機數作為私鑰。比特幣的私鑰總量大,遍歷所有私鑰空間獲取比特幣的私鑰極其困難,所以暗碼學是安全的。為便於辨認,256位二進制比特幣私鑰將通過SHA256哈希演算法和Base58進行轉化,構成50個字元長的私鑰,便於用戶辨認和書寫。比特幣的公鑰是私鑰通過Secp256k1橢圓曲線演算法生成的65位元組隨機數。公鑰可用於生成比特幣交易中使用的地址。生成進程是公鑰先通過SHA256和RIPEMD160哈希處理,生成20位元組的摘要成果(即Hash160的成果),再通過SHA256哈希演算法和Base58轉化,構成33個字元的比特幣地址。公鑰生成進程是不可逆的,即私鑰不能從公鑰推導出來。比特幣的公鑰和私鑰通常存儲在比特幣錢包文件中,其間私鑰最為重要。丟掉私鑰意味著丟掉相應地址的所有比特幣財物。在現有的比特幣和區塊鏈體系中,現已依據實踐使用需求衍生出多私鑰加密技能,以滿意多重簽名等愈加靈敏雜亂的場景。
『捌』 比特幣的私鑰怎麼生成的
私鑰是密文持有人設置的隨機的數字。
私鑰的生成是隨機的數字,通過拋硬幣將正面向上的計為0,反面向上計為1,連續拋256次,就隨機得到一個256位的二進制數字。生成了私鑰,就可以通過加密函數來生成一個地址。私鑰是一個64個字元長的代碼,包括字母a到f和數字1到9的任何混合。
『玖』 bitcoin私鑰是如何產生的
比特幣地址和私鑰是怎樣生成的?比特幣使用橢圓曲線演算法生成公鑰和私鑰,選擇的是secp256k1曲線。生成的公鑰是33位元組的大數,私鑰是32位元組的大數,錢包文件wallet.dat中直接保存了公鑰和私鑰。我們在接收和發送比特幣時用到的比特幣地址是公鑰經過演算法處理後得到的,具體過程是公鑰先經過SHA-256演算法處理得到32位元組的哈希結果,再經過RIPEMED演算法處理後得到20位元組的摘要結果,再經過字元轉換過程得到我們看到的地址。這個字元轉換過程與私鑰的字元轉換過程完成相同,步驟是先把輸入的內容(對於公鑰就是20位元組的摘要結果,對於私鑰就是32位元組的大數)增加版本號,經過連續兩次SHA-256演算法,取後一次哈希結果的前4位元組作為校驗碼附在輸入內容的後面,然後再經過Base58編碼,得到字元串。
『拾』 我了解到生成比特幣地址的十個步驟, 求問:第一步生成私鑰是隨機生成呢,還是根據你的比特幣數量信息
礦工你好