プログラム的な方法で、暗号化された秘密鍵から暗号化されていない秘密鍵を取得します
1 回答
- 投票
-
- 2020-02-14
ピテゾを使用する場合:
>>> from pytezos import Key ... Key.from_encoded_key('edskReYTc3xorfemyNAcrYb6Sz8Wgj6e1PfevpZ6uysf4KXWBNxXcoLA4KBtZp7hmUCy6V3bhtWZRMSuya5DgXA1TU2JXYeDmG').secret_key() <<< 'edsk2pR4GssrHRPDFBci4wkLGAH97HcwmLAWMEGWh6D9zyTUvbQb1p'
内部:
- Base58デコード(チェックサム付き)
- 最初の4バイトをカット
- それはed25519秘密鍵(64バイト)です
- libsoduimのcrypto_sign_sk_to_seedを使用する
- 32バイトの長さのシードを取得しました
- 4バイトのプレフィックス(0x0d0f3a07)を追加する
- チェックサムを使用したBase58エンコード
If using pytezos that would be:
>>> from pytezos import Key ... Key.from_encoded_key('edskReYTc3xorfemyNAcrYb6Sz8Wgj6e1PfevpZ6uysf4KXWBNxXcoLA4KBtZp7hmUCy6V3bhtWZRMSuya5DgXA1TU2JXYeDmG').secret_key() <<< 'edsk2pR4GssrHRPDFBci4wkLGAH97HcwmLAWMEGWh6D9zyTUvbQb1p'
Under the hood:
- Base58 decode (with checksum)
- Cut first 4 bytes
- That's ed25519 secret key (64 bytes)
- Using crypto_sign_sk_to_seed from libsoduim
- Got 32 bytes long seed
- Adding 4 bytes prefix (0x0d0f3a07)
- Base58 encode with checksum
-
ありがとう、それはpytezosで動作します、私はあなたが言及した「内部」を実装しようとしましたが、libsodium.jsには** crypto_sign_sk_to_seed **関数がありません、JSの代替手段を知っていますか?Thank you, it works with pytezos, I tried to implement the "under the hood" that you mentioned but libsodium.js doesn't have the **crypto_sign_sk_to_seed** function, do you know an alternative in JS?
- 0
- 2020-02-14
- Daly
-
crypto_sign_ed25519_sk_to_seedをお試しくださいTry crypto_sign_ed25519_sk_to_seed
- 0
- 2020-02-14
- Michael Zaikin
-
存在しません:/、私はすべてのlibsodium.jsで関数xxx_to_seedを検索しましたが、そこには何もありません.Doesn't exist also :/, I searched in all the libsodium.js for a function xxx_to_seed and nothing there.
- 0
- 2020-02-14
- Daly
-
https://codesandbox.io/s/modest-framework-o5mbt?fontsize=14&hidenavigation=1&theme=darkhttps://codesandbox.io/s/modest-framework-o5mbt?fontsize=14&hidenavigation=1&theme=dark
- 1
- 2020-02-14
- Michael Zaikin
-
私は** libsodium-wrappers-sumo **を試しませんでした、それはついに機能します、これは将来の他のみんなのための方法です: **b58encode(sodium_sumo.crypto_sign_ed25519_sk_to_seed(b58decode(sk、prefix.edsk))、prefix.edsk2); **I didn't try with **libsodium-wrappers-sumo**, it finally works, this is how for everyone else in the future: **b58encode(sodium_sumo.crypto_sign_ed25519_sk_to_seed(b58decode(sk, prefix.edsk)), prefix.edsk2);**
- 1
- 2020-02-14
- Daly
新しいtezosアカウントを生成するための小さなスクリプトを開発しました.結果は、次の形式になります.->
秘密鍵で取得するのは、長さが98の
を入力するときに表示される秘密鍵のようにed25519 secret key
です.暗号化を解除して、長さが54のed25519 seed
を取得したいと思います../tezos-client show address tz1..... --show-secret
->プログラムで最初の秘密鍵形式(長さ==98)から2番目の形式(長さ==54)に渡すことは可能ですか?