u盘加密

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python编写的一个简单的U盘加密程序: ```python import os import random import string import hashlib def generate_key(): """生成随机加密密钥""" key = ''.join(random.choices(string.ascii_letters + string.digits, k=16)) return key def encrypt_file(file_path, key): """加密文件""" with open(file_path, 'rb') as f: data = f.read() md5 = hashlib.md5(data).hexdigest() # 计算文件的MD5值 encrypted_data = bytearray(data) key_bytes = bytes(key, encoding='utf-8') random.seed(md5) # 使用文件的MD5值作为随机数种子 for i in range(len(encrypted_data)): encrypted_data[i] ^= random.randint(0, 255) ^ key_bytes[i % len(key_bytes)] with open(file_path, 'wb') as f: f.write(encrypted_data) def decrypt_file(file_path, key): """解密文件""" with open(file_path, 'rb') as f: data = f.read() md5 = hashlib.md5(data).hexdigest() # 计算文件的MD5值 decrypted_data = bytearray(data) key_bytes = bytes(key, encoding='utf-8') random.seed(md5) # 使用文件的MD5值作为随机数种子 for i in range(len(decrypted_data)): decrypted_data[i] ^= random.randint(0, 255) ^ key_bytes[i % len(key_bytes)] with open(file_path, 'wb') as f: f.write(decrypted_data) if __name__ == '__main__': key = generate_key() # 生成加密密钥 print('加密密钥:', key) drive_letter = input('请输入要加密U盘驱动器号(例如E:):') for root, dirs, files in os.walk(drive_letter): for file in files: file_path = os.path.join(root, file) encrypt_file(file_path, key) # 加密文件 ``` 该程序会生成一个随机的加密密钥,然后遍历指定的U盘驱动器中的所有文件,对每个文件进行加密操作。加密时会先计算文件的MD5值作为随机数种子,然后使用随机数和密钥对文件进行异或运算,最终得到加密后的数据。解密时同理,先计算文件的MD5值作为随机数种子,然后使用随机数和密钥对加密后的数据进行异或运算,最终得到原始数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值