如何用Python、PHP生成md5

LEO-屹铭 2021-10-16 PM 374℃ 2条

今天打开电脑无意中发现磁盘变红了,一顿操作后发现图片的储存空间有点大,经过分析图片有好多重复,就想着怎么删除这些图片,作为一个程序员总不能一个一个删除吧,也不现实,Python不是可以生产md5吗,可以生成图片的md5,然后对比自动删除重复的就可以了。
写完代码后,感觉少了点什么,能给文件生成md5,就能给字符串生成吧,于是完善了一下代码,封装成了一个函数,以后用到了可以直接拿过来,拿来主义就是好。代码附下:

#-*-coding:utf-8-*-
'''
Created on 2021-10-16
@author: 屹铭
''' 
# 导入相关库 
import hashlib
import os
import sys

# 使用方法 s代表字符串,f代表文件  
def printUsage():  
    print ('Usage: [python] pymd5.py s/f <string>/<filename>')  

# 生成文件的md5      
def file_to_MD5(filePath):  
    if not os.path.isfile(filePath):
        printUsage()
    else:
        tmpLength = 1024
        m = hashlib.md5()
        with open(filePath, 'rb') as f:
            b = f.read(tmpLength)
            while b != b'':
                m.update(b)
                b = f.read(tmpLength)
            print(filePath, ' MD5:\t', m.hexdigest().upper())
# 生成字符串的md5
def string_to_md5(string):
    md5_val = hashlib.md5(string.encode('utf8')).hexdigest()
    print(string, ' MD5:\t',md5_val)
    return md5_val
    
if __name__ == '__main__':
    if 3 != len(sys.argv):
        printUsage() 
    else:
        f = sys.argv[1]
        d = sys.argv[2]
        if f == "s":
            string_to_md5(d)
        else:
            file_to_MD5(d)

Python生成md5.png

写完Python的代码,顺带手写了一个PHP,毕竟平时用PHP还是多一点。

<?php
$filename = "md5.py";
// 文件的md5
$md5file = md5_file($filename);
echo $md5file;
echo '<br>';

// 字符串的md5
$str = "md5.py";
echo md5($str);
?>

扫描二维码,在手机上阅读!
标签: Python, PHP, md5

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 2 条评论


  1. 朕弟小站
    朕弟小站

    很方便

    回复 2021-10-17 22:34