dtool
is a command-line tool collection to assist development
Now dtool
supports:
- Hex / UTF-8 string / binary / byte array conversion
- Timestamp / date conversion
- Number 10/2/8/16 base conversion
- Hex / base58 conversion
- Hex / base64 conversion
- URL encode / decode
- Number codec
- Hash (MD5, SHA-1, SHA-2, SHA-3, RIPEMD, CRC, Blake2b, SM3, Twox)
- UTF-8 string / unicode conversion
- HTML entity encode / decode
- Regex match
- Pbkdf2
- Case conversion (upper, lower, title, camel, pascal, snake, shouty snake, kebab, sarcasm)
- AES encrypt / decrypt
- ECDSA (Secp256k1, NIST P-256, NIST P-384, SM2)
- SM4 encrypt / decrypt
- EdDSA (Ed25519)
- sr25519 signature
dtool
does different works by different sub commands:
Sub command | Desc | Example |
---|---|---|
h2s | Convert hex to UTF-8 string v0.1.0 |
$ dtool h2s 0x61626364 abcd |
s2h | Convert UTF-8 string to hex v0.1.0 |
$ dtool s2h abcd 0x61626364 |
h2b | Convert hex to binary v0.1.0 |
$ dtool h2b 0x61626364 abcd |
b2h | Convert binary to hex v0.1.0 |
$ dtool b2h abcd 0x61626364 |
... |
- Besides the sub command
help
,dtool
provides a sub commandusage
to show examples:
$ dtool usage
Usage
----------------------------------------------------------
h2s Convert hex to UTF-8 string $ dtool h2s 0x61626364
v0.1.0 abcd
----------------------------------------------------------
...
- You can search usage with a keyword:
$ dtool usage -s md5
Usage
-------------------------------------------------------
hash Hex to hash $ dtool hash -a md5 0x616263
MD5 0x900150983cd24fb0d6963f7d28e17f72
v0.2.0
-------------------------------------------------------
convert a string to base64
$ echo -n abc | dtool s2h | dtool h2b64
YWJj
convert a encoded timestamp to date
$ echo -n 2c28e75d | dtool nd -tu32 | dtool ts2d
2019-12-04 11:29:48
convert a jpeg to base64
$ cat pic.jpg | dtool b2h | dtool h2b64
/9j/4AAQSkZJR...
calculate file md5
$ cat pic.jpg | dtool b2h | dtool hash -a md5
0x1884b72e23b0c93320bac6b050478ff4
$ brew install guoxbin/guoxbin/dtool
Recommend! Homebrew will install shell completion for bash, fish, and zsh along with dtool
There is an AUR package for dtool that includes shell completion for bash, fish, and zsh.
git clone https://aur.archlinux.org/dtool.git
cd dtool
makepkg -si
$ cargo install dtool