批量文件共享的解决方案

看了今天的乱弹,心乱如麻。因为一些视频文件跟家里反目,实在得不偿失。故总结多年心得,于此分享,与诸君共勉!

特点

  1. 不知规则就无法打开,只能暴破;
  2. 秘钥存放在文件名中,一包一密;
  3. 文件播放不需要解压和输入密码,直接播放;
  4. 无惧网盘审查,直接分享。

步骤

  1. 修改文件名为随机文件名
  2. 加密打包,文件名作为密钥,一包一密
  3. 生成播放批处理文件,根据规则计算密钥并解压到播放器

代码

打包

#!/bin/bash
# 批量加密压缩文件
# srckey=$(echo 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=| fold -w1 |shuf|tr  -d '\n')
# deckey=$(echo 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=| fold -w1 |shuf|tr  -d '\n')
# echo $srckey
# echo $deckey
if  [ -d "$1" ]; then
	for f in $1*.mmc
	do
		# echo $f
		filename=$(echo $f|md5sum -t|cut -c1-32)
		# psd=$(echo $filename|base64|tr $srckey $deckey)
		pwd=$(echo $filename|cut -c8-20)
		mv "$f" "$1$filename.mmc"
		7z a $1$filename.mmz $1$filename.mmc -p$pwd -mx0 -sdel
	done
else 
	echo 'arg is not a directory!'
fi

批处理

REM 使用7zip解压并播放加密的文件包
@echo off
set fp=%1
set fn=%~n1
"7z.exe" e -so -p%fn:~7,13% %fp% |mplayer.exe -fs -

后记

本来,是打算用base64转换文件名,然后再用tr进行简单的交换加密获得密码的,但无奈批处理做这个工作稍显麻烦,没有现成的工具,所以现在只是简单的用了文件名的一部分作为密码。抛砖引玉,期待高人来解决。

转载于:https://my.oschina.net/rodger/blog/3047444

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值