用pytho写一个bat批量加密
时间: 2023-07-20 10:39:28 浏览: 96
你可以使用Python的subprocess库来执行CMD命令,从而实现批量加密多个批处理文件。以下是一个示例代码,你可以根据需要进行修改:
```python
import subprocess
import os
# 需要加密的批处理文件所在目录
batch_dir = 'C:/batch_files'
# 遍历目录下的所有批处理文件
for file_name in os.listdir(batch_dir):
if file_name.endswith('.bat'):
file_path = os.path.join(batch_dir, file_name)
# 执行CMD命令进行加密
subprocess.run(['cipher', '/e', file_path], shell=True)
```
该代码会遍历指定目录下的所有批处理文件,并使用CMD命令对其进行加密操作。你可以将batch_dir变量修改为你实际的批处理文件所在目录。
相关问题
用Python写一个批量文件加密算法
当然,我可以帮你完成这个问题。你需要使用python中的pycryptodome库来实现批量文件加密。下面是一个简单的实现:
```python
from Crypto.Cipher import AES
import os
def encrypt_file(key, in_filename, out_filename=None, chunksize=64*1024):
if not out_filename:
out_filename = in_filename + '.enc'
iv = os.urandom(16)
encryptor = AES.new(key, AES.MODE_CBC, iv)
filesize = os.path.getsize(in_filename)
with open(in_filename, 'rb') as infile:
with open(out_filename, 'wb') as outfile:
outfile.write(filesize.to_bytes(8, byteorder='big'))
outfile.write(iv)
while True:
chunk = infile.read(chunksize)
if len(chunk) == 0: # 文件末尾
break
elif len(chunk) % 16 != 0:
chunk += b' ' * (16 - len(chunk) % 16)
outfile.write(encryptor.encrypt(chunk))
def encrypt_files_in_folder(key, folder_path):
for folder_name, subfolders, filenames in os.walk(folder_path):
for filename in filenames:
in_file_path = os.path.join(folder_name, filename)
encrypt_file(key, in_file_path)
os.remove(in_file_path) # 加密后删除原文件
```
上面的代码使用AES算法对文件进行加密,加密模式为CBC,加密后的文件名为原文件名加上".enc"后缀。你可以使用`encrypt_file(key, in_filename, out_filename)`函数来对单个文件进行加密,也可以使用`encrypt_files_in_folder(key, folder_path)`函数来批量加密一个目录下的所有文件。其中`key`是加密密钥,可以是任意长度的bytes类型。
用Python写一个简单的加密代码
好的,我可以为您提供一个简单的Python加密代码,示例代码如下:
```
def encrypt(text, key):
result = ""
for i in range(len(text)):
char = text[i]
if char.isupper():
result += chr((ord(char) + key - 65) % 26 + 65)
else:
result += chr((ord(char) + key - 97) % 26 + 97)
return result
```
上述代码使用 Caesar 加密算法将输入的文本加密,加密密钥为一个整数。如果输入的字符是大写字母,则将其转换为 ASCII 码值,加上密钥并将其转换为新字符。如果输入的字符是小写字母,则类似地进行加密。加密后的文本将作为输出返回。
注意:这只是一个简单的加密算法,不适用于保护敏感数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)