用户间传递文件时,应该尽可能的使用加密手段。一种简单而可靠的方法,“基于密码的压缩包”。本任务在linux系统下采用系统自带的工具tar和zip。 基于密码的加密方式,其安全性与密码复杂度直接相关。应当使用可靠的方式传递这个密码,或者使用变换方式传递密码,例如:你的生日6位数乘以7再减去我的生日、我的大写拼音名加我的年龄加我的小写英文名、上次我们吃饭的金额乘以11再加上饭店拼音名。代码
时间: 2024-03-12 22:43:09 浏览: 19
以下是使用tar和zip工具创建基于密码的压缩包,并使用变换方式传递密码的示例代码:
```shell
# 定义密码变换函数
function transform_password() {
birthday=19900101 # 你的生日
my_birthday=19900202 # 我的生日
last_meal=100 # 上次我们吃饭的金额
restaurant=restaurant # 饭店拼音名
my_name="MYNAME" # 我的大写拼音名
my_age=30 # 我的年龄
my_nickname="mynick" # 我的小写英文名
password=$(expr $birthday \* 7 - $my_birthday)$(echo $my_name | tr '[:upper:]' '[:lower:]')$(expr $my_age + $last_meal \* 11 + $(echo $restaurant | tr '[:upper:]' '[:lower:]'))$(echo $my_nickname | tr '[:lower:]' '[:upper:]')
echo $password
}
# 创建加密压缩包
tar -czvf - /path/to/my_folder | zip -e --password "$(transform_password)" -r my_folder.zip -
# 解包压缩包
unzip -P "$(transform_password)" my_folder.zip
```
以上代码中,我们定义了一个密码变换函数 transform_password(),将多个值(例如生日、金额、拼音名称等)进行变换和组合生成密码。在创建压缩包时,使用 zip 工具的 -e 选项指定密码,并调用 transform_password() 函数生成密码。在解包时,使用 unzip 工具的 -P 选项指定密码,并调用 transform_password() 函数生成密码。
需要注意的是,密码变换函数中使用的值需要在用户间约定好,并且需要确保变换后的密码复杂度足够高。同时,在传递密码时,也需要确保传递方式是安全的。