你好,可以通过python程序实现文件转MD5码吗?如果可以能发一下程序吗

你好,可以通过python程序实现文件转MD5码吗?如果可以能发一下程序吗,第1张

使用python获取指定文件的md5码,代码和运行效果如下;

代码如图

获取wjmd5.py自己的md5为例

#--coding:utf-8

import hashlib as hashimport os.path

try: get_ipython()

except:from sys import argvs1=(os.path.dirname(argv[0]))cwd=(s1 if s1!="" else os.getcwd())os.chdir(cwd)

md5= hash.md5()

res=Nonefna=input('请输入文件名')

with open(fna, "rb") as i: md5.update(i.read())res= md5.hexdigest()

print(res)

md5的获取,这是我早期写的一个方法,你看看

def getMd5OfFile(fname):

    if not os.path.exists(fname):

        return None

    try:

        f = file(fname, 'rb')

        m = md5.new()

        while True:

            d = f.read(16384)

            if not d:

                break

            m.update(d)

        f.close()

        return m.hexdigest()

    except Exception,e:

        getLogger().error(e)

        return None

import os,hashlib

def getlistdir(path):

    try:    #如果path是一个文件的完整名称,os.listdir会抛出错误

        fl=os.listdir(path)

    except Exception as e:

        fl=[]

    finally:

        return fl

def getallfile(path):

    allfile=[]

    fl=getlistdir(path)

    if len(fl)!=0:

        fl=list(map(lambda x:path+'\\'+x,fl))

        allfile=allfile+fl

        for f in fl:

            allfile=allfile+getallfile(f)

    return allfile

def makemd5(stri):

    md5=hashlib.md5()

    md5.update(stri.encode('utf-8'))

    return md5.hexdigest()

def main():

    myfilelist=getallfile('.')  #获取当前文件'.'中的所有文件和文件夹名list

    myfilestr='|'.join(myfilelist)  #文件list转换为以'|'分隔的字符串

    print(myfilestr)    #显示要进行md5摘要加密的字符

    print("md5=",makemd5(myfilestr))  #计算并显示md5码

main()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8120836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存