没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
工作中用到了MD5值来进行对文件校验,MD5本身就是一个很出色的算法,一定程度上解决了hash散列的冲突,关于MD5的内容网上也有很多,这里只要是进行一个实验,验证一下文件校验方面的工作,因为习惯使用了python来完成这样的任务,这里也是使用python,了解到python本身自带有hashlib模块,该模块中就包含了所需的MD5方法,当然python也有专门的MD5模块可以使用,使用得当发的大同小异,但是个人觉得hashlib模块更好用一些,今天就使用python的os、commands还有hashlib三个模块来进行实验,其中,前两个模块主要是为了可以在python脚本中执行Linux的
资源推荐
资源详情
资源评论
python 获取字符串获取字符串MD5值方法值方法
工作中用到了MD5值来进行对文件校验,MD5本身就是一个很出色的算法,一定程度上解决了hash散列的冲突,关于MD5的
内容网上也有很多,这里只要是进行一个实验,验证一下文件校验方面的工作,因为习惯使用了python来完成这样的任务,这
里也是使用python,了解到python本身自带有hashlib模块,该模块中就包含了所需的MD5方法,当然python也有专门的MD5
模块可以使用,使用得当发的大同小异,但是个人觉得hashlib模块更好用一些,今天就使用python的os、commands还有
hashlib三个模块来进行实验,其中,前两个模块主要是为了可以在python脚本中执行Linux的shell命令,以此来验证一下同一
个文件以及文件内容是否可以得到与hashlib模块MD5方法相同的MD5值,好了不多说了,下面是程序,很简单的一个验证,
里面都有详细的注释就不多解释了:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
功能:校验文件MD5值
'''
import hashlib, binascii
import md5
import os
import commands
#使用python自带的hashlib库
def get_md5_value(str):
my_md5 = hashlib.md5()#获取一个MD5的加密算法对象
my_md5.update(str) #得到MD5消息摘要
my_md5_Digest = my_md5.hexdigest()#以16进制返回消息摘要,32位
return my_md5_Digest
#使用python自带的hashlib库如果m.update(a)之后在 m.update(b),那么就相当于m.update(a+b),这里验证一下
def get_md5_value_two(str1, str2):
my_md52 = hashlib.md5()
my_md52.update(str1)
my_md52.update(str2)
my_md52_Digest = my_md52.hexdigest()
return my_md52_Digest
#使用SHA1
def get_sha1_value(str):
my_sha = hashlib.sha1()
my_sha.update(str)
my_sha_Digest = my_sha.hexdigest()
return my_sha_Digest
#利用os模块system()方法获取文件的MD5值
def get_file_md5_value(filename):
return os.system('md5sum ' + filename + '|cut -f1')
#利用os模块popen()方法获取文件的MD5值
def get_popen_file_md5_value(filename):
return os.popen('md5sum ' + filename + '|cut -f1')
#获取文件内容的MD5值
def get_file_content_md5_value(filename):
fp = open(filename)
fp_content = fp.read()
return get_md5_value(fp_content)
#利用commands模块获取文件的MD5值
def get_commands_file_md5_value(filename):
return commands.getoutput('md5sum ' + filename + '|cut -f1')
if __name__ == '__main__':
string1 = 'We are friends!!!'
string2 = 'Do agree with me?'
filename = 'Linux.txt'
result_md5_value = get_md5_value(string1)
result_sha1_value = get_sha1_value(string1)
print '-------------------------------------------------'
print '原始字符串为:'+string1
weixin_38557757
- 粉丝: 5
- 资源: 934
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页