Maison > développement back-end > Tutoriel Python > Comment utiliser Python pour générer la fonction de valeur de contrôle du fichier md5

Comment utiliser Python pour générer la fonction de valeur de contrôle du fichier md5

高洛峰
Libérer: 2017-01-14 11:48:00
original
3043 Les gens l'ont consulté

Avant-propos

Il existe une commande sous Linux appelée md5sum, qui permet de générer la valeur md5 d'un fichier. Généralement, le résultat sera enregistré dans un fichier pour vérification. Par exemple, il sera utilisé comme ceci :

[crazyant@localhost PythonMd5]$ more sample_file 
www.crazyant.net
www.51projob.com
[crazyant@localhost PythonMd5]$ md5sum sample_file > sample_file.md5file
[crazyant@localhost PythonMd5]$ more sample_file.md5file 
311d384505e3622ccf85d88930e2b0a0 sample_file
[crazyant@localhost PythonMd5]$ md5sum -c sample_file.md5file 
sample_file: OK
Copier après la connexion
<🎜. > Parmi eux, md5sum -c est utilisé pour vérifier si la valeur md5 générée est correcte.

Utilisez python pour générer des valeurs de fichier md5 et générer des fichiers de résultats identiques aux résultats md5sum

Python peut utiliser le module md5 de hashlib pour générer des codes de vérification md5 pour le contenu du fichier. Si vous souhaitez générer le même fichier de résultats que md5sum, il vous suffit d'afficher la valeur du résultat MD5 et le nom du fichier sur une seule ligne, avec deux espaces au milieu.

Code d'essai :

# -*- encoding:utf-8 -*-
from hashlib import md5
import os
  
def generate_file_md5value(fpath):
 &#39;&#39;&#39;以文件路径作为参数,返回对文件md5后的值
 &#39;&#39;&#39;
 m = md5()
 # 需要使用二进制格式读取文件内容
 a_file = open(fpath, &#39;rb&#39;) 
 m.update(a_file.read())
 a_file.close()
 return m.hexdigest()
  
def generate_file_md5sumFile(fpath):
 fname = os.path.basename(fpath)
 fpath_md5 = "%s.md5" % fpath
 fout = open(fpath_md5, "w")
 fout.write("%s %s\n" % (generate_file_md5value(fpath), fname.strip()))
 print "generate success, fpath:%s" % fpath_md5
 fout.flush()
 fout.close()
  
if __name__ == "__main__":
 fpath = "/home/users/workbench/PythonMd5/sample_file"
 # 测试一:以文件路径作为参数,获得md5后的字符串
 print generate_file_md5value(fpath)
  
 # 测试二:生成和linux命令:md5sum同样结果的.md5文件
 generate_file_md5sumFile(fpath)
Copier après la connexion
Résultats en cours d'exécution :

[crazyant@localhost PythonMd5]$ python generateMd5file.py
311d384505e3622ccf85d88930e2b0a0
generate success, fpath:/home/crazyant/workbench/PythonMd5/sample_file.md5
[crazyant@localhost PythonMd5]$ md5sum -c sample_file.md5
sample_file: OK
Copier après la connexion
Remarque

Si le code développé sous Windows est directement soumis à Linux pour exécution, l'exécution du code échoue souvent car le caractère de nouvelle ligne sous Windows est rn et Linux est n. Généralement, une conversion est requise.

Résumé

Ce qui précède représente l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra être utile aux études ou au travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien au site Web PHP chinois.

Pour plus d'articles sur la façon d'utiliser Python pour générer la fonction de valeur de contrôle du fichier md5, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal