bash加密解密命令
时间: 2024-10-28 16:10:18 浏览: 9
python rsa 加密解密
在Bash中,可以使用多种命令进行加密和解密操作。以下是一些常用的方法:
### 使用 `openssl` 命令
#### 加密
```bash
# 使用AES-256-CBC算法加密文件
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin -k password
```
#### 解密
```bash
# 使用AES-256-CBC算法解密文件
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -k password
```
### 使用 `gpg` 命令
#### 加密
```bash
# 使用对称加密(AES)加密文件
gpg --symmetric --cipher-algo AES256 plaintext.txt
```
#### 解密
```bash
# 解密文件
gpg --output decrypted.txt --decrypt encrypted.gpg
```
### 使用 `base64` 命令
#### 编码(加密)
```bash
# 将文件内容编码为Base64格式
base64 plaintext.txt > encoded.txt
```
#### 解码(解密)
```bash
# 将Base64格式的内容解码回原始文件
base64 --decode encoded.txt > decoded.txt
```
### 使用 `zip` 命令
#### 加密压缩包
```bash
# 创建一个加密的ZIP压缩包
zip --password your_password encrypted.zip plaintext.txt
```
#### 解压加密压缩包
```bash
# 解压加密的ZIP压缩包
unzip encrypted.zip -P your_password
```
### 使用 `openssl` 生成密钥对并加密/解密数据
#### 生成RSA密钥对
```bash
# 生成私钥
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
# 从私钥生成公钥
openssl rsa -pubout -in private_key.pem -out public_key.pem
```
#### 使用公钥加密数据
```bash
# 使用公钥加密文件
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.bin
```
#### 使用私钥解密数据
```bash
# 使用私钥解密文件
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.bin -out decrypted.txt
```
### 示例总结
1. **对称加密**:使用 `openssl` 或 `gpg` 进行对称加密,适用于需要快速加密和解密的场景。
2. **非对称加密**:使用 `openssl` 生成密钥对,适用于需要安全传输敏感信息的场景。
3. **Base64编码**:适用于简单的文本编码和解码,不提供安全性。
4. **压缩加密**:使用 `zip` 命令创建加密的压缩包,适用于需要打包并保护文件的场景。
阅读全文