codec

command module
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2025 License: MIT Imports: 1 Imported by: 0

README

codec

一个跨平台的编码、解码和哈希CLI工具
零依赖,使用Go编写——支持base64、base32、hex、base85、base58、URL编码以及多种哈希算法。


目录


特性

  • 用于编码、解码和哈希的跨平台CLI工具
  • 支持多种编码方案(base64、base32、base85、base58、hex、URL编码)
  • 支持常见和高级哈希算法(MD5、SHA系列、SHA3、Blake2、CRC32)
  • 支持从标准输入(stdin)或文件读取输入
  • 支持输出到标准输出(stdout)或文件
  • 支持多次重复编码/解码
  • 详细模式可显示操作的详细信息
  • 零外部运行时依赖(仅使用Go标准库 + golang.org/x/crypto)

支持的算法

编码 / 解码
  • base64 — 标准Base64
  • base64url — URL安全的Base64
  • base32 — Base32
  • hex — 十六进制
  • base85 — ASCII85 / Base85
  • base58 — 比特币Base58
  • url — URL百分比编码
哈希
  • md5
  • sha1
  • sha256
  • sha512
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • crc32-ieee
  • crc32-castagnoli
  • crc32-koopman
  • blake2b-256
  • blake2b-512
  • blake2s-256

安装

确保你已安装Go

克隆仓库并构建: git clone https://github.com/c0mentropy/codec.git cd codec go build -o codec main.go 或从发布页下载预编译二进制文件


使用方法

codec <操作> <算法> [数据] [选项]

  • <操作>: encode(编码)、decode(解码)或 hash(哈希)
  • <算法>: 参见上面的支持的算法
  • [数据]: 输入字符串或文件路径。如果省略,将从标准输入(stdin)读取输入。
  • [选项]: 见下文
选项
标志 描述
-o, --output <文件> 将输出写入指定文件
-v, --verbose 启用详细输出
-r, --repeat <n> 重复编码/解码n次(默认1次)
-h, --help 显示帮助信息
-V, --version 显示版本和作者信息

示例

  • 将字符串编码为base64: codec encode base64 "Hello, World!"
  • 解码base64字符串: codec decode base64 "SGVsbG8sIFdvcmxkIQ=="
  • 使用sha256哈希一个文件: codec hash sha256 ./file.txt
  • 编码二进制文件并保存输出: codec encode base64 ./image.png -o encoded.txt
  • 解码并保存到文件: codec decode base64 encoded.txt -o image_decoded.png
  • 多次编码一个字符串: codec encode base64 "data" --repeat 3
  • 详细模式查看详细信息: codec encode base64 "hello" -v

高级功能

重复编码/解码

使用--repeat <n>可以多次重复编码或解码步骤。这在处理嵌套编码时非常有用。

示例:对字符串进行三次Base64编码 codec encode base64 "secret" --repeat 3

输出到文件

使用-o--output将结果保存到文件而不是标准输出。

示例: codec encode base64 ./file.bin -o encoded.txt

详细模式

使用-v--verbose启用详细操作日志。 codec decode base64 encoded.txt -v 这会显示操作、算法、输入/输出长度、重复次数和其他信息。


贡献

欢迎贡献和提交bug报告!
请在GitHub上创建issue或提交拉取请求。


许可证

本项目基于MIT许可证授权——详见LICENSE文件了解详情。

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL