secure-crypt

Crates.iosecure-crypt
lib.rssecure-crypt
version2.0.0
created_at2026-01-10 09:44:00.533367+00
updated_at2026-01-10 11:45:37.826163+00
descriptionUltra secure encryption/decryption tool using Rust + libsodium with zero secret leakage.
homepage
repositoryhttps://github.com/double12gzh/secure-crypt
max_upload_size
id2033966
size82,864
Jeffrey Guan (double12gzh)

documentation

README

secure-crypt

简介

secure-crypt 安全加密/解密工具。

系统要求

  • Rust 1.70+ (Edition 2021)
  • Linux/MacOS

安装

1. 从源码构建

# 克隆仓库
git clone https://github.com/double12gzh/secure-crypt.git
cd secure-crypt

# 构建发布版本
cargo build --release

# 或使用提供的构建脚本
./build.sh

# 二进制文件位于
target/release/secure-crypt

2. 安装到系统路径(可选)

cargo install --path .

使用方法

1. 生成密钥对

生成 Ed25519 签名密钥对和 X25519 加密密钥对,并创建加密的私钥备份:

secure-crypt gen-keypair "Your Name" "your.email@example.com"

这将创建:

  • keystore/public_<fingerprint>.asc - Ed25519 公钥(Base64)
  • keystore/x25519_public_<fingerprint>.asc - X25519 公钥(Base64)
  • keystore/private_<fingerprint>.asc.enc - 加密的 Ed25519 私钥
  • keystore/x25519_private_<fingerprint>.asc.enc - 加密的 X25519 私钥
  • keystore/recovery_instructions_<fingerprint>.txt - 恢复说明

2. 生成强密码

生成指定长度的强密码(默认 32 字符):

secure-crypt gen-password [--length 32]

3. 解密私钥备份

解密加密的私钥备份文件,恢复为明文私钥(DER 格式):

secure-crypt decrypt-private-key keystore/private_<fingerprint>.asc.enc [-o output.der]

4. 使用公钥加密文件

使用 X25519 公钥加密文件(混合加密:X25519 + XChaCha20-Poly1305):

secure-crypt encrypt-file-with-key \
    --input document.txt \
    --public-key keystore/x25519_public_<fingerprint>.asc \
    [--output document.txt.pubenc]

5. 使用私钥解密文件

使用加密的 X25519 私钥解密文件:

secure-crypt decrypt-file-with-key \
    --input document.txt.pubenc \
    --private-key keystore/x25519_private_<fingerprint>.asc.enc \
    [--output document.txt]

6. 加密文件

一键完成:生成密钥对 → 加密密钥 → 加密文件 → 签名文件:

secure-crypt encrypt \
    --input document.txt \
    --name "Your Name" \
    --email "your.email@example.com" \
    [--output document.txt.pubenc]

这将:

  1. 生成 Ed25519 和 X25519 密钥对
  2. 使用密码加密私钥并保存到 keystore
  3. 使用 Ed25519 私钥对文件进行签名
  4. 使用 X25519 公钥加密文件

7. 解密文件

一键完成:解密密钥 → 解密文件 → 验证签名:

secure-crypt decrypt \
    --input document.txt.pubenc \
    --private-key keystore/x25519_private_<fingerprint>.asc.enc \
    [--output document.txt]
Commit count: 0

cargo fmt