一个简单的加解密脚本

查看 55|回复 4
作者:youkan_pj   
一个简单的加解密脚本
用途
在使用网盘的时候会对文件类型进行检查,这个脚本主要是通过修改文件类型标志来实现修改文件类型的,主要是zip格式和txt格式文件的互换。
用法
将python脚本和待加密或解密的文件放在同一个文件夹中,多次运行该脚本即可实现加密和解密。得到的zip可以直接解压缩然后查看文件。
注意
[ol]
  • 此脚本需要结合python环境;
  • 不要随意修改文件名,这个可以看看代码。
  • 如果运行出错很有可能是路径问题,建议再新建文件夹中操作
    [/ol]
    示例图片
    今天突然发现微博图床不能用了,就不发图片的,内容也不难,看代码部分就行
    代码
    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)


    Snipaste_2023-04-10_16-19-32.png (25 KB, 下载次数: 0)
    下载附件
    解密为zip后直接解压可查看文件
    2023-4-10 16:43 上传

    文件, 脚本

  • wertop   

    谢谢分享。
    Sogrey   

    还真是简单直接
    eaglexiong   

    简单就是好,要的就是这个效果
    youkan_pj
    OP
      


    eaglexiong 发表于 2023-4-14 21:41
    简单就是好,要的就是这个效果

    有个缺点就是不能直接运行,我在想能不能写成exe程序
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部