聊聊錢包、私匙、公匙和地址
聊聊錢包、私匙、公匙和地址
自從比特幣誕生伊始,與此相關(guān)的私鑰、公鑰、地址等名詞概念就不斷出現(xiàn)在大眾眼前,那么這四個概念之間是什么樣的關(guān)系呢?今天就給大家簡單聊一些相關(guān)的專業(yè)名詞和背后的邏輯。 1 這些名詞的關(guān)系是什么樣的? 如果用一句話說明這幾個名詞的關(guān)系,那就是: 錢包生成私鑰 → 私鑰生成公鑰 → 公鑰生成公鑰哈希 → 公鑰哈希生成地址 → 地址用來接受比特幣 ,簡單吧,能聽懂吧。
2 這幾個名詞究竟是什么東西? 還是一句話概括, 除了錢包是軟件以外,剩下的四個都是長度不一的字符串 ,比如私鑰是52位的字符串,地址是34位的字符串。
3 這四個字符串分別從哪里來的? 私鑰 由錢包軟件隨機生成,隨后用密碼算法生成公鑰和地址,如果用等式表示的話,可寫成如下形式: 公鑰=算法1(私鑰) 公鑰哈希=算法2(公鑰) 地址=算法3(公鑰哈希) 所以, 地址 =算法3(算法2(算法1(私鑰))) 其中,算法1,算法2,算法3都是公開的算法。 4 這幾個字符串哪個必須保密,哪個可以公開? 私鑰**不能公開 ,因為有了它本質(zhì)上就取得了對應(yīng)比特幣的所有權(quán)。 地址可以公開 ,因為它是用來接受比特幣的, 公鑰和公鑰哈希也可以公開 ,不過一般情況下你看不到。 5 為什么地址和公鑰可以公開? 因為 即使被別人知道了地址和公鑰,對方也推算不出你的私鑰,也就掌握不了你的比特幣 。
為什么推算不出? 舉個例子。電影《模仿游戲》中,英軍即使在得到了engima密碼機(算法)后仍然無法破解德軍的密碼,原因就是德軍每次發(fā)信息都會用一個新的口令(私鑰)作為起始點。在不知道口令的前提下,進百科行反向暴力破解大概需要幾千萬年,不過**因為刻板的德國人每次都用同一個口令作為起點,而這個口令還是自然語言,導(dǎo)致密碼被破解。
所以,每次交易的時候才會要求生成一個新的私鑰,然后得到一個新的地址,這樣你的交易安全性就有了很大的保障。 6 做自己開心的事 從上面的描述我們可以推出,私鑰的本質(zhì)是一個復(fù)雜數(shù)學(xué)問題的解,當(dāng)有人向公開地址發(fā)送比特幣時,其實是在向全網(wǎng)所有比特幣客戶端發(fā)出了一道數(shù)學(xué)題,而這道題目的正確解,就是你的私鑰。因為那道題是用你的私鑰生成的呀,所以只有你能在**時間回答出答案,于是比特幣就歸你了,因此 私鑰千萬不能告訴別人。
如何找到私鑰并妥善保管? 在bitcoin-qt軟件中,進入windows debug或者調(diào)試窗口,在命令行下輸入 getaddres**yaccount 命令可以查看所有已經(jīng)生成的錢包地址。選取其中一個地址,然后用 dumpprivkey?“地址”命令就能看到私鑰了(54位字符串)。 下圖是用getaddres**yaccount “”命令查看地址列表,用dumpprivkey查看私鑰的截圖,注意**張圖中由于錢包是加密的,所以直接打dumpprivkey命令是看不到私鑰的。
輸入錢包密碼后才能用dumpprivkey命令看到私鑰。 剛已經(jīng)說了私鑰非常的重要,它是真正決定比特幣歸誰的證明。私鑰在bitcoin-qt客戶端里,實際上是存在于一個叫wallet.dat的文件里的,而且剛安裝的bitcoin-qt客戶端是不設(shè)密碼的。萬一電腦落入不法分子手中或被黑客攻擊,導(dǎo)致私鑰丟失,就狠尷尬了,所以一定要設(shè)置密碼,且密碼一定要遵守隨機復(fù)雜大小寫字符數(shù)字都有的規(guī)則。
建議用專門的密碼生成軟件生成,關(guān)于密碼軟件,找機會專門說一下。 特別注意,千萬千萬千萬記住了,一定不要把密碼給忘了!因為你 忘了密碼就打不開錢包 wallet.dat 文件了,也就找不到私鑰了 ,然后,就沒有然后了。 我就發(fā)生過剛開始倒騰錢包把密碼搞錯了,然后打不開錢包的尷尬,**只好怒刪wallet.dat文件,讓系統(tǒng)再自己生成一個,這時候的感覺大約相當(dāng)于把一筆錢埋在了宇宙某顆星球上,然后把坐標(biāo)圖搞丟了,因為比特世界只認私鑰不認身份證,你掉了就是掉了,再也找不回來了。 不過正因為比特幣的所有權(quán)是依靠私鑰確認的,也就有個最狠的保存辦法,老貓也提過,那就是,找到私鑰后記在紙上,然后把紙鎖在保險柜里,或者干脆記在腦子里,不過54位的字符串誰特么能記???然后把電腦上的客戶端連同錢包文件一起刪除。
好了,關(guān)于錢包客戶端,大概就說這些吧,相關(guān)知識我也是剛開始了解,隨著了解信息的增加,可能會有更新的認識,到時候會再寫出來。 千萬注意,千萬注意,千萬注意不要搞丟了私鑰。
2000iis中如何配置phpmyadmin!希望有詳細步驟,**有截圖!
phpMyAdmin 安裝配置 將phpMyAdmin軟件包解到一個目錄下。 打開config.inc.php3,根據(jù)你的環(huán)境,修改$cfgServers[1][\’host\’],$cfgServers[1][\’user\’]和 $cfgServers[1][\’password\’]的值。
可以看一下下面的配置部分所列出的所有可配置的變量,根據(jù)情 況對其它參數(shù)進行修改。
建議在安裝完phpMyAdmin之后,對其目錄進行保護(除非在一個企業(yè)內(nèi)部網(wǎng)上)。例如,可以使用HTTP-AUTH(用一個.htaccess文件)。 在瀏覽器中打開文件:安裝主機域名/安裝目錄/index.php3。phpMyAdmin應(yīng)該顯示一個歡迎屏和你的數(shù) 據(jù)庫。
phpMyAdmin支持多語言。如果要改成中文版本,則修改config.inc.php3中的require(\”english.inc.php3\”);為require(\”chinese_gb.inc.php3\”)。這樣界面就是中文的了。
好棒噢! 保存config.inc.php3。 安裝注意 請確認保護了phpMyAdmin目錄。缺省是沒有任何保護的!它不應(yīng)該被隨便一個人特別是搜索引擎讀到。
盡管我在每一頁中都加了一個\”nofollow\”指令,也可能有的搜索引擎不考慮仍然繼續(xù)訪問頁面的鏈接。 想象一下AltaVista訪問了一個名叫\(zhòng)”Drop Dtabase\”的鏈接會怎么樣吧。你可以 在http://www.apacheweek.com/features/userauth對Apache的認證方法有一個全面了解。
另一個教程 在http://deepthought.texsci.edu/protected_dirs.html PHP3應(yīng)該被配置為magic_quotes=on。 配置 所有可配置數(shù)據(jù)都放在config.inc.php3中。 $cfgServers 數(shù)組 從1.4.2版本開始,phpMyAdmin支持對多個MySQL-server的管理。所以,增加了$cfgServers數(shù)組來存放 不同服務(wù)器的登錄信息。
$cfgServers[1][\’host\’]包含了**個服務(wù)器的主機名,$cfgServers[2][\’host\’] 為第二個服務(wù)器的主機等,等等。如果你只有一個服務(wù)器要管理,可以簡單地不去理會其它$cfgServers入 口的主機名。 $cfgServers[n][\’port\’] 字符串 第n個MySQL服務(wù)器的端口號。缺省值為3300(保留空值)。
$cfgServers[n][\’host\’] 字符串 第n個MySQL服務(wù)器的主機名。例如,localhost。 $cfgServers[n][\’adv_auth\’] 布爾值 對這個服務(wù)器應(yīng)該使用基本或是高級認證方式?;菊J證方式($adv_auth = false)是普通的老的作法: 用戶名和口令被存在config.inc.php3中。
高級認證方式($adv_auth = true)從1.3.0版開始引入,允許你通 過HTTP-Auth來作為合法的MySQL的用戶進行登錄。在config.inc中你只需要提供一個標(biāo)準(zhǔn)用戶,他能夠連接 到MySQL上并且可以讀出mysql庫的user/db表(看$cfgServers[n][\’stduser\’])。 推薦使用高級方式管理的場合: 當(dāng)phpMyAdmin運行在多用戶環(huán)境下,人們擁有shell處理權(quán)限時,你不想知道MySQL的用戶名/口令。
當(dāng)你想讓用戶存取他們自已的數(shù)據(jù)庫,并且不想他們干擾其他人。 高級認證方式是安全的,因為標(biāo)準(zhǔn)用戶只需要對mysql庫的只讀權(quán)限。MySQL口令不能被容易的破解,所 以對于一個普通用戶沒有機會看到其它用戶的明文口令。
$cfgServers[n][\’user\’] 字符串 $cfgServers[n][\’password\’] 字符串 當(dāng)使用基本認證方式時,phpMyAdmin將使用用戶名/口令對同這個MySQL服務(wù)器連接。當(dāng)使用高級認證方 式時則不需要。 $cfgServers[n][\’stduser\’] 字符串 $cfgServers[n][\’stdpass\’] 字符串 當(dāng)使用高級認證方式時,用戶名/口令對被用于校驗真正的用戶名/口令對。這個用戶必須能夠連接MySQL, 而且可以讀取mysql庫的user表。
當(dāng)使用基本認證方式時則不需要。 $cfgServers[n][\’only_db\’] 字符串 如果設(shè)置了一個數(shù)據(jù)庫名,只有這個數(shù)據(jù)庫將顯示給用戶。 $cfgServers[n][\’verbose\’] 字符串 只有在多服務(wù)器入口時使用phpMyAdmin才有用。
如果設(shè)置了,這個字符串將被顯示出來,用來代替在主頁面中的下接菜單中的主機名。例如,如果你想在系統(tǒng)只顯示某些數(shù)據(jù)庫,這個可能就有用了。 $cfgManualBase 字符串 如果設(shè)為一個URL(它指向MySQL文檔),就會創(chuàng)建相應(yīng)的幫助鏈接。 $cfgPersistentConnections 布爾值 是否使用持續(xù)連接(mysql_connect或mysql_pconnect)。
$cfgConfirm 布爾值 當(dāng)你將要丟失數(shù)據(jù)時是否應(yīng)該顯示一個警告信息(\”你真的確定要…\”)。 $cfgMaxRows 整數(shù) 當(dāng)瀏覽一個結(jié)果集時顯示的記錄數(shù)。如果結(jié)果集包含了更多的數(shù)據(jù),將顯示前頁/后頁的鏈接。
$cfgMaxInputsize 整數(shù) 當(dāng)向一個表增加一條新的記錄時,編輯字段的大小。 $cfgBorder 整數(shù) 表格邊界的大小。 $cfgThBgcolor 字符串 [HTML 顏色] 用在?。
安卓手機如何打開.priv文件
priv要打開這個文件,視窗需要知道您想使用什么應(yīng)用程序去打開它,視窗可以自動去網(wǎng)上搜尋需要的應(yīng)用程序或您可以從您的電腦上手動操作。當(dāng)前我們并沒有有關(guān)PRIV文件類型的說明或其它詳細信息,但我們或許能推薦一些能打開此類文件的程序。
請查看我們的用戶推薦的可打開此類文件的程序列表。
我們每天都在持續(xù)添加文件類型描述,因此不久之后可能就會出現(xiàn)有關(guān)PRIV的信息。