Ubuntu下如何使用openssl高效解密加密文件,快速解锁?
- 内容介绍
- 文章标签
- 相关推荐
Ubuntu 下使用 OpenSSL 高效解密加密文件,快速解锁
在日常工作中。我们经常会遇到以下痛点:
- 拿到加密文件却不知道使用了哪种算法或密码。
- 程序未装 OpenSSL,手动编译安装耗时。
- 私钥格式不对导致解密失败,反复试错浪费时间。
- 担心误操作造成数据丢失。
从第一步先来看,确保 OpenSSL 已安装
打开终端。执行:
sudo apt update && sudo apt install -y openssl
安装完成后可用 openssl version 验证。
说到接下来,确定加密方式和所需材料
在尝试解密前。请先明确以下信息:
- 加密算法**:常见的有 AES‑256‑C娱乐、DES‑EDE3‑C娱乐 等;如果是非对称加密则通常是 RSA。
- 密码或私钥**:对称加密需要一样的口令;非对称则需要对应的私钥文件。
-
文件
再看名**。加密文件往往带有
.enc,.dat等后缀,解密后恢复原始 名。
A. 对称算法解密示例
步骤:
-
将待解密的文件假设为
encrypted_file.enc - 使用与加完全相同的算法和口令进行解密:
openssl enc -d -aes-256-cbc \
-in encrypted_file.enc \
-out decrypted_file.txt \
-pass pass:your_password
-d 表示解析为解密模式;-pass pass:your_password 中的 your_password 为加密时使用的口令。话说回来,若不想把口令写在命令行里可省略 -pass pass:。程序会交互式提示输入,
B. RSA 私钥解密示例
生成或获取 RSA 私钥
/usr/bin/openssl genrsa -out rsa_private_key.pem 2048
# 生成 2048 位私钥
转换为 PKCS#1 格式
/usr/bin/openssl rsa -in rsa_private_key.pem -out rsakey_pkcs1.pem
# 若原来已经是 PKCS#1,此步骤可跳过
用私钥进行解密
假设你有一个通过 RSA 公钥加密得到的二进制文件 encrypted.bin
/usr/bin/openssl rsautl -decrypt \
-inkey rsakey_pkcs1.pem \
-in encrypted.bin \
-out decrypted.txt
-inkey 指定私钥文件;-decrypt 告诉工具执行 RSA 解填充并输出明文。
C. 常见错误及快速排查思路
| 症状 | `bad decrypt` 或 `wrong final block length` | ① 加错算法或模式 尝试不同算法 | `unable to load Private Key` | 私钥格式不是 PEM 或被损坏 用 `openssl rsa -check-in key.pem` 检验 | `No such file or directory` | 方法写错或文件未放在当前目录 使用绝对方法或先 `ls` 柀认文件存在 | |
|---|---|---|---|---|---|---|---|
| `Verifying – bad password read` | 交互输入口令时大小写/空格错误 仔细输入,若记不住可尝试常用口令列表 | ||||||
D. 一键脚本示例
AES‑256‑C娱乐 对称批量脚本 /usr/local/bin/aes_decrypt.sh}
!/bin/bash
if ];n
echo "Usage: $0 "
exit 1
fi
ENC="$1" PASS="$2" OUT="${ENC%.enc}.dec"
openssl enc -d -aes-256-cbc -in "$ENC" -out "$OUT" -pass pass:"$PASS" echo "Decrypted -> $OUT" &
chmod +x /usr/local/bin/aes_decrypt.sh
&;/pre
Ubuntu 下使用 OpenSSL 高效解密加密文件,快速解锁
在日常工作中。我们经常会遇到以下痛点:
- 拿到加密文件却不知道使用了哪种算法或密码。
- 程序未装 OpenSSL,手动编译安装耗时。
- 私钥格式不对导致解密失败,反复试错浪费时间。
- 担心误操作造成数据丢失。
从第一步先来看,确保 OpenSSL 已安装
打开终端。执行:
sudo apt update && sudo apt install -y openssl
安装完成后可用 openssl version 验证。
说到接下来,确定加密方式和所需材料
在尝试解密前。请先明确以下信息:
- 加密算法**:常见的有 AES‑256‑C娱乐、DES‑EDE3‑C娱乐 等;如果是非对称加密则通常是 RSA。
- 密码或私钥**:对称加密需要一样的口令;非对称则需要对应的私钥文件。
-
文件
再看名**。加密文件往往带有
.enc,.dat等后缀,解密后恢复原始 名。
A. 对称算法解密示例
步骤:
-
将待解密的文件假设为
encrypted_file.enc - 使用与加完全相同的算法和口令进行解密:
openssl enc -d -aes-256-cbc \
-in encrypted_file.enc \
-out decrypted_file.txt \
-pass pass:your_password
-d 表示解析为解密模式;-pass pass:your_password 中的 your_password 为加密时使用的口令。话说回来,若不想把口令写在命令行里可省略 -pass pass:。程序会交互式提示输入,
B. RSA 私钥解密示例
生成或获取 RSA 私钥
/usr/bin/openssl genrsa -out rsa_private_key.pem 2048
# 生成 2048 位私钥
转换为 PKCS#1 格式
/usr/bin/openssl rsa -in rsa_private_key.pem -out rsakey_pkcs1.pem
# 若原来已经是 PKCS#1,此步骤可跳过
用私钥进行解密
假设你有一个通过 RSA 公钥加密得到的二进制文件 encrypted.bin
/usr/bin/openssl rsautl -decrypt \
-inkey rsakey_pkcs1.pem \
-in encrypted.bin \
-out decrypted.txt
-inkey 指定私钥文件;-decrypt 告诉工具执行 RSA 解填充并输出明文。
C. 常见错误及快速排查思路
| 症状 | `bad decrypt` 或 `wrong final block length` | ① 加错算法或模式 尝试不同算法 | `unable to load Private Key` | 私钥格式不是 PEM 或被损坏 用 `openssl rsa -check-in key.pem` 检验 | `No such file or directory` | 方法写错或文件未放在当前目录 使用绝对方法或先 `ls` 柀认文件存在 | |
|---|---|---|---|---|---|---|---|
| `Verifying – bad password read` | 交互输入口令时大小写/空格错误 仔细输入,若记不住可尝试常用口令列表 | ||||||
D. 一键脚本示例
AES‑256‑C娱乐 对称批量脚本 /usr/local/bin/aes_decrypt.sh}
!/bin/bash
if ];n
echo "Usage: $0 "
exit 1
fi
ENC="$1" PASS="$2" OUT="${ENC%.enc}.dec"
openssl enc -d -aes-256-cbc -in "$ENC" -out "$OUT" -pass pass:"$PASS" echo "Decrypted -> $OUT" &
chmod +x /usr/local/bin/aes_decrypt.sh
&;/pre

