卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11201本站已运行3223

Python 一个简单的加解密脚本

用途
在使用网盘的时候会对文件类型进行检查,这个脚本主要是通过修改文件类型标志来实现修改文件类型的,主要是zip格式和txt格式文件的互换。

用法
将python脚本和待加密或解密的文件放在同一个文件夹中,多次运行该脚本即可实现加密和解密。得到的zip可以直接解压缩然后查看文件。

注意
此脚本需要结合python环境;
不要随意修改文件名,这个可以看看代码。
如果运行出错很有可能是路径问题,建议再新建文件夹中操作
示例图片
今天突然发现微博图床不能用了,就不发图片的,内容也不难,看代码部分就行

import os
# 2022-06-12 修改zip文件为txt,方便阿里云盘的分享限制
# 目前阿里云通过文件后缀名和文件格式信息来判断文件是否受限
# zip文件的格式信息为(0x04034b50)小端表示为504b0304,是使用范围最广的一种压缩格式
# 解决方法是将50替换为00(其他的十六也可以),将zip改为txt或其他可分享的格式

def encodeZip(fn):
    """
    将不可分享的zip加密为可分享的txt
    加密:修改.zip文件并对其重命名为5.txt
    :param fn: 要处理文件的名称
    """
    with open(fn, 'rb+') as ff:
        if ff.writable():
            ff.write(b'\x00')
    # 修改后进行重命名为xxx5.txt
    dst = fn[0:-4]+'5.txt'
    os.rename(fn, dst)

def decodeTxt(fn):
    """
    将无法使用的txt解密为可使用的zip压缩文件
    解密:修改.zip文件并对其重命名为5.txt
    :param fn: 要处理文件的名称
    """
    with open(fn, 'rb+') as ff:
        if ff.writable():
            ff.write(b'\x50')
    # 将名为为xxx5.txt 改为 xxx.zip
    dst = fn[0:-5]+'.zip'
    os.rename(fn, dst)

if __name__ == "__main__":
    dirs = os.listdir()
    for dr in dirs:
        if dr[-3:] == "zip":
            encodeZip(dr)
        if dr[-5:] == "5.txt":
            decodeTxt(dr)
卓越飞翔博客
上一篇: 自动下载百度贴吧图片的PHP脚本
下一篇: 批量处理文件名,bat批处理
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏