https://github.com/ceca69ec/encrypt38
Command line tool to encrypt and decrypt bitcoin private keys with bip-0038 standard
https://github.com/ceca69ec/encrypt38
bip-0038 bitcoin bitcoin-address command-line cryptocurrencies encryption-decryption rust
Last synced: about 2 months ago
JSON representation
Command line tool to encrypt and decrypt bitcoin private keys with bip-0038 standard
- Host: GitHub
- URL: https://github.com/ceca69ec/encrypt38
- Owner: ceca69ec
- License: apache-2.0
- Created: 2021-07-06T19:57:53.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-16T19:26:37.000Z (about 1 year ago)
- Last Synced: 2024-09-18T08:30:58.025Z (9 months ago)
- Topics: bip-0038, bitcoin, bitcoin-address, command-line, cryptocurrencies, encryption-decryption, rust
- Language: Rust
- Homepage: https://docs.rs/encrypt38
- Size: 57.6 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
encrypt38
=========**Command line tool to encrypt and decrypt bitcoin private keys with
[bip-0038](https://github.com/bitcoin/bips/blob/master/bip-0038.mediawiki) standard.**## Basic usage
```console
$ encrypt38 -p Satoshi KwYgW8gcxj1JWJXhPSu4Fqwzfhp5Yfi42mdYmMa4XqK7NJxXUSK7
6PYLtMnXvfG3oJde97zRyLYFZCYizPU5T3LwgdYJz1fRhh16bU7u6PPmY7
``````console
$ encrypt38 -p Satoshi 6PYLtMnXvfG3oJde97zRyLYFZCYizPU5T3LwgdYJz1fRhh16bU7u6PPmY7
09c2686880095b1a4c249ee3ac4eea8a014f11e6f986d0b5025ac1f39afbd9ae
KwYgW8gcxj1JWJXhPSu4Fqwzfhp5Yfi42mdYmMa4XqK7NJxXUSK7
```## Disclaimer
* **Don't trust, verify**
Compare the results of this tool with others. Verify the implementation (and the tests).
Decrypt immediately after an encryption to check the passphrase you *typed* was the one you
*wanted*.
**Use at your won risk.*** **Not recommended**
Use this tool only to decrypt keys you already have. The method of keeping private keys
encrypted with bip-0038 standard is [not recommended](https://youtu.be/MbwLVok4gWA?t=2462) anymore
(use [mnemonic](https://crates.io/crates/mnemonic39) instead).## Features
* **Address**
This tool show the respective address of a decrypted private key in the legacy, segwit-nested
and segwit-native formats according to the version prefix of the encrypted private key.* **Custom separator**
Customization of the default separator of information when decrypting.
* **Decryption**
Insert an encrypted private key `6P...` and passphrase do show the private key represented in
hexadecimal and the respective address, public key and wif keys.* **Encryption**
Insert a private key in the form of hexadecimal numbers or wif key and passphrase to show the
encrypted private key.* **Generation (elliptic curve multiplication method)**
Insert a passphrase to create an encrypted private key using pseudo-random number generation and
elliptic curve multiplication.* **Uncompressed address**
This tool is capable of resulting in uncompressed address (mainly for decryption and retro
compatibility, *not recommended*).## Help
```shell
Insert encrypted, hexadecimal or wif private key and passphrase to decrypt or
encrypt accordingly. Insert only passphrase to create an encrypted private key
using elliptic curve multiplication (and pseudo-random number generation).Usage: encrypt38 [OPTIONS] -p [PRIVATE_KEY]
Arguments:
[PRIVATE_KEY] Hexadecimal, wif or encrypted private keyOptions:
-s Specify character (or string) to separate verbose result
-p Used to encrypt and decrypt the private key (required)
-u, --uncompressed Encrypted private key to generate uncompressed address
-v, --verbose Show possible address and public key when decrypting
-h, --help Print help
-V, --version Print version
```## Installation
You have to install [rust](https://www.rust-lang.org/tools/install) and a
[linker](https://gcc.gnu.org/wiki/InstallingGCC) if you don't already have them.```shell
$ cargo install encrypt38
```