每日10行代码156:Python实现简单的文件加密解密
我常用的文件加密解密的工具是宏杰加密,但是前两天打开后发现要强制升级,升级后软件变成vip才能使用,并且不能降级。有一天,我突然想起来自己是不是可以用Python写一个加密的工具。于是就动手开是写了。
def encrypt(filepath):f = open(filepath,'rb+')f.seek(0,0)content = f.read(200)print(content)f.seek(0,2)f.write(content)f.seek(0,0)for i in range(0,200):f.write(b'0')def decrypt(filepath):f = open(filepath,'rb+')# 复制最后面的200个字节f.seek(-200,2)content = f.read(200)# 移动到开关,把文件头写入f.seek(0)f.write(content)#encrypt(r'f:\temp.mp4')
decrypt(r'f:\temp.mp4')
其实加密原理也很简单,就是通过某种算法把文件的二进制数据加密。我这里选择的加密算法很简单:
加密:把文件的前200位二进制数据移到文件末尾,再把前200位数据置成0.
解密:把文件的后200位二进制数据替换文件的前200位数据。
后期,可以把这个200(我自己随便设置的)改成一个自己设定的密码,那么加密和解密就不是那么容易破解了。
这个解密程序的好处:快,算法简单。
缺点:对高手来说,这种加密很容易破解,但是防范一般人还是很有用的,适合加密一些不太重要的文件。
每日10行代码156:Python实现简单的文件加密解密相关推荐
- python代码翻译-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!
原标题:10 行代码,Python 教你自制屏幕翻译工具,有逼格!! 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到网站上去执行翻译. 当然,对于 I ...
- python代码翻译器-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!
原标题:10 行代码,Python 教你自制屏幕翻译工具,有逼格!! 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到网站上去执行翻译. 当然,对于 I ...
- 每日10行代码31:爬取人民日报一日的所有文章并存入数据库
今天又增加了存入数据库的功能,至此,爬取人民日报的项目已经结束,下一步我将跟另一篇文章的博主比较下代码,从他那学一些有用的东西. import requests import re from bs4 ...
- 10行代码掌握python基本语法元素_Python-基础课程学习(1)
由于在机器学习的理论基础上需要一定的编程能力,所以在这里我打算跟进学习Python,以作为进一步学习机器学习打下基础. 这里我用学习的是mooc上北京理工大学,嵩天老师的课程.希望能有收获. 下面提一 ...
- 【java】简单的文件加密解密方式
一.基础知识 1.异或加密解密方式(推荐) package com.test;import java.io.*;public class test1 {private static final int ...
- 每日10行代码44:用python操作手机点击淘金币
大概需要的基础知识如下: 找到当前程序的package和launch activity adb shell dumpsys window windows | findstr "Current ...
- 每日10行代码47:python自动领取淘金币完整代码:基于坐标的模拟点击(2020年10月10日可用)
今天把领淘金币的代码写完了,目前可以适应不同的分辨率,原理是模拟手去点击,就相当于手机上运行个按键精灵. 使用前提: 电脑上配置好了adb工具. 手机打开了开发者选项. 安装了手机淘宝. 手机淘宝是标 ...
- 每日10行代码65:python操作淘宝做淘金币能量任务(11月7日可用)
淘宝里的淘金币有很多任务可以做,做了之后增加第二天获取的淘金币数量,为了得到更多的淘金币,我做了一个脚本,辅助做任务. import os import time import random impo ...
- 每日10行代码59:python+appium做淘金币的能量任务
今天花了点时间,用python实现淘金币的能量任务,只能做浏览任务,别的功能还不完善,等以后再完善吧,最近家里出了点事,可能会耽误更新. import os import time import ra ...
最新文章
- 结束php语句的正确方法是,2011-2012-1-《PHP网页设计》试卷b
- 概率整形 Peobabilistic Shaping PS
- python有内存处理模块吗_使用Python多处理的高内存使用
- mysql 触发器 本表_MySQL触发器处理本表数据
- 如何使用 vCenter 警报自动监控 VSAN 组件阈值?
- Tensorrt7: AttributeError: ‘NoneType‘ object has no attribute ‘create_execution_context‘
- 手机看直播时卡屏幕显示无法连接服务器,看直播不再卡!教你几招提升网速方法...
- Ubuntu E: 无法获得锁 /var/lib/dpkg/lock - open (11:
- 【Speedtest】网络测速工具(支持命令行测试)
- editplus使用
- 11010011计算机二进制,二进制运算及转换(课件)
- 解除WORD文档保护
- ubuntu之使用wine微信之无法发送图片
- 阿里云国际9款免费标签云生成工具
- WinMerge的使用(代码相同却提示有差异)。
- excel同一行中如何添加换行
- 猫狗叫声模拟器小程序源码
- Web日志安全分析浅谈
- Zynq7000开发系列-1(Vivado HLx 2016.4下载及安装)
- 新买的电脑,自带最新版的office家庭和学生版,激活教程
热门文章
- 人工神经网络连接方式,全连接神经网络作用
- sha256校验工具_Springboot整合支付宝支付加内网穿透工具实现本地回调
- 【Shiro权限管理】一、简介
- windows默认文件(桌面、下载、文档等)设置为C盘根路径后怎么修改回去
- Windows安装nginx并配置端口转发
- Unity-Linerenderer画线功能
- 04 【忽略某些文件】
- Knative v0.16.0安装全过程
- android zxing生成条形码,使用ZXing创建android条形码扫描应用程序
- 基于javaweb的美发店理发店会员管理系统ssm项目源码