隨機生成BTC私鑰
⑴ 給一個java簡單隨機生成rsa公鑰私鑰的演算法代碼
1、用公鑰加密,用私鑰解密。
2、給別人發信息,就從伺服器上拉下來別人的公鑰,加密後發給他。
3、對方拿到信息後用自己的私鑰解密。
4、這樣,公鑰加密後除了私鑰持有人,別人都看不到信息。
5、若是用私鑰加密,那麼公鑰都能解密,還有何安全性可言?
6、私鑰加密的場合只有一個,那就是數字簽名,用來表明這個信息來源於你。
⑵ 比特幣交易 BTC-E. 如何設置密鑰,一次性密碼是怎麼得到的求大神告訴方法
API密鑰用來程序化交易的。一次性密碼,用谷歌驗證器。下載谷歌驗證器到手機上,安裝後。用驗證器掃描二維碼,就得到一次性密碼。studybtc
⑶ java 如果隨機生成秘鑰對並獲取
好像是,..這個你可以將公鑰私鑰放到一個MAP中 在這個MAP中初始化隨即產生器然後生成密鑰對 我也剛接觸 還沒看懂... //生成密鑰
public static Map<String,Object> initKey(String seed) throws Exception{
KeyPairGenerator keygen = KeyPairGenerator.getInstance(ALGORITHM);
//初始化隨機產生器
SecureRandom sr = new SecureRandom();
sr.setSeed(seed.getBytes());
keygen.initialize(KEY_SIZE,sr);
KeyPair keys = keygen.genKeyPair();
DSAPublicKey publicKey = (DSAPublicKey) keys.getPublic();
DSAPrivateKey privateKey = (DSAPrivateKey) keys.getPrivate();
Map<String,Object> map = new HashMap<String,Object>(2);
map.put(PUBLIC_KEY, publicKey);
map.put(PRIVATE_KEY, privateKey);
return map;
}
⑷ bitcoin私鑰是如何產生的
比特幣地址和私鑰是怎樣生成的?比特幣使用橢圓曲線演算法生成公鑰和私鑰,選擇的是secp256k1曲線。生成的公鑰是33位元組的大數,私鑰是32位元組的大數,錢包文件wallet.dat中直接保存了公鑰和私鑰。我們在接收和發送比特幣時用到的比特幣地址是公鑰經過演算法處理後得到的,具體過程是公鑰先經過SHA-256演算法處理得到32位元組的哈希結果,再經過RIPEMED演算法處理後得到20位元組的摘要結果,再經過字元轉換過程得到我們看到的地址。這個字元轉換過程與私鑰的字元轉換過程完成相同,步驟是先把輸入的內容(對於公鑰就是20位元組的摘要結果,對於私鑰就是32位元組的大數)增加版本號,經過連續兩次SHA-256演算法,取後一次哈希結果的前4位元組作為校驗碼附在輸入內容的後面,然後再經過Base58編碼,得到字元串。
⑸ 比特幣私鑰多少位
比特幣私鑰是一個256位的隨機數,通過SHA-256演算法產生
⑹ 一個比特幣私鑰可以算出幾個地址
比特幣交易網站只給你使用權,不給你所有權。在交易所你只是個比特幣的租客。想當比特幣的主子,請用比特幣錢包(我用的是比太錢包)
⑺ 隨機生成的比特幣地址會重復嗎
不會的,總會有那個幾個數字或者字母是不一樣的。因為一旦有重復的現象發生,市場可能會出現混亂,創造者當初應該也會想到一旦發生這種情況將會導致什麼樣的後果,因此個人覺得是不會有重復得到。
⑻ 比特幣私鑰是自己設定還是生成的
生成的一串加密密鑰
⑼ 離線生成的比特幣地址是如何避免沖突的
BTC的地址生成過程如下,完整的可以查一下比特幣中文維基:
比特幣地址的生成過程
(說明: 有些數字以"0x"開頭,意思是此數字使用十六進製表示法。"0x"本身沒有任何含義,它是C語言流傳下來的,約定俗成的寫法,比如0xA就是十進制的10。另外,1個位元組 = 8位二進制 = 2位十六進制)。
第一步,隨機選取一個32位元組的數、大小介於1 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之間,作為私鑰。
第二步,使用橢圓曲線加密演算法(ECDSA-secp256k1)計算私鑰所對應的非壓縮公鑰。 (共65位元組, 1位元組 0x04, 32位元組為x坐標,32位元組為y坐標)關於公鑰壓縮、非壓縮的問題另文說明。
第三步,計算公鑰的 SHA-256 哈希值
第四步,取上一步結果,計算 RIPEMD-160 哈希值
第五步,取上一步結果,前面加入地址版本號(比特幣主網版本號「0x00」)
00
第六步,取上一步結果,計算 SHA-256 哈希值
第七步,取上一步結果,再計算一下 SHA-256 哈希值(哈哈)
第八步,取上一步結果的前4個位元組(8位十六進制)
D61967F6
第九步,把這4個位元組加在第五步的結果後面,作為校驗(這就是比特幣地址的16進制形態)。
00D61967F6
第十步,用base58表示法變換一下地址(這就是最常見的比特幣地址形態)。