生成文件的md5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,使用PySide6编写的带界面的文件MD5生成工具: ```python import hashlib import os from PySide6.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout, QFileDialog, QLineEdit class MainWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('MD5 Generator') self.setGeometry(100, 100, 400, 150) self.file_path = '' self.hash_value = '' self.file_label = QLabel('Select a file:') self.file_path_edit = QLineEdit() self.file_path_edit.setReadOnly(True) self.file_button = QPushButton('Browse...') self.file_button.clicked.connect(self.browse_file) self.hash_label = QLabel('MD5 Hash:') self.hash_value_edit = QLineEdit() self.hash_value_edit.setReadOnly(True) self.generate_button = QPushButton('Generate') self.generate_button.clicked.connect(self.generate_md5) vbox = QVBoxLayout() vbox.addWidget(self.file_label) vbox.addWidget(self.file_path_edit) vbox.addWidget(self.file_button) vbox.addWidget(self.hash_label) vbox.addWidget(self.hash_value_edit) vbox.addWidget(self.generate_button) self.setLayout(vbox) def browse_file(self): file_name, _ = QFileDialog.getOpenFileName(self, 'Select a file', '', 'All Files (*.*)') if file_name: self.file_path = file_name self.file_path_edit.setText(file_name) def generate_md5(self): if self.file_path: try: with open(self.file_path, 'rb') as f: md5 = hashlib.md5() while True: chunk = f.read(4096) if not chunk: break md5.update(chunk) self.hash_value = md5.hexdigest() self.hash_value_edit.setText(self.hash_value) except Exception as e: self.hash_value_edit.setText('Error: ' + str(e)) else: self.hash_value_edit.setText('Please select a file first.') if __name__ == '__main__': app = QApplication([]) window = MainWindow() window.show() app.exec_() ``` 运行上述代码后,将弹出一个窗口,包含一个选择文件按钮、一个生成按钮和一个显示MD5哈希值的文本框。用户可以点击选择文件按钮来选择要处理的文件,然后点击生成按钮来生成MD5哈希值并在文本框中显示它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值