用python計算md5,sha1,crc32
為了確保從網上下載的檔案或程式完整並且沒有被篡改,一般官網上都會給出檔案的md5或sha1。我們拿到一個軟體,第一步應當是校驗這個值與官網給的是否一致,如果不一致的話就趕緊刪掉吧。
在Mac上計算一個檔案的md5, sha1, crc32:
命令 | 輸出 |
---|---|
$ md5 shark.jpg | MD5 (shark.jpg) = 61aead6a48da0fb25618333590745aa7 |
$ shasum shark.jpg | acfe8421e3ad39cf73f19cef02aa3e692e25d5a2 shark.jpg |
$ crc32 shark.jpg | adc64e03 |
python也能做這個工作,其中md5和sha1需import hashlib
, crc32可以import zlib
#!/usr/bin/env python3
from hashlib import md5, sha1
from zlib import crc32
import sys
def getMd5(filename): #計算md5
mdfive = md5()
with open(filename, 'rb') as f:
mdfive.update(f.read())
return mdfive.hexdigest()
def getSha1(filename): #計算sha1
sha1Obj = sha1()
with open(filename, 'rb') as f:
sha1Obj.update(f.read())
return sha1Obj.hexdigest()
def getCrc32(filename): #計算crc32
with open(filename, 'rb') as f:
return crc32(f.read())
if len(sys.argv) < 2:
print('You must enter the file' )
exit(1)
elif len(sys.argv) > 2:
print('Only one file is permitted')
exit(1)
filename = sys.argv[1]
print('{:8} {}'.format('md5:', getMd5(filename)))
print('{:8} {}'.format('sha1:', getSha1(filename)))
print('{:8} {:x}'.format('crc32:', getCrc32(filename)))
$ python3 test.py shark.jpg
,輸出:
md5: 61aead6a48da0fb25618333590745aa7
sha1: acfe8421e3ad39cf73f19cef02aa3e692e25d5a2
crc32: adc64e03
與mac上的計算一致。
相關推薦
用python計算md5,sha1,crc32
為了確保從網上下載的檔案或程式完整並且沒有被篡改,一般官網上都會給出檔案的md5或sha1。我們拿到一個軟體,第一步應當是校驗這個值與官網給的是否一致,如果不一致的話就趕緊刪掉吧。 在Mac上
用python計算出大檔案的md5碼,某路徑下所有檔案的md5碼
#coding:utf-8 #md5check.py #讀檔案,轉成md5碼 #如沒有檔案路徑,則詢問 #是檔案,返回md5碼 #是路徑把其下所有檔案返回md5碼 #參考:http://www.joelverhagen.com/blog/2011/02/md5-hash-
用python計算檔案的md5值
在Python中內建了md5的實現,就是md5模組,因此可以很簡單的處理比較兩個檔案是否一致的問題。如以下程式碼片斷: import os,sys,md5 f1 = open(’f:/1.txt’,’r’) f2 = open(’f:/1.txt’,’r’) print
用python計算文件行數[裝載自http://www.centoscn.com/python/2013/0806/1110.html]
緩存 scn adl 讀取 col bsp 支持 p s file 一、計算文件的行數 最簡單的辦法是把文件讀入一個大的列表中,然後統計列表的長度.如果文件的路徑是以參數的形式filepath傳遞的,那麽只用一行代碼就可以完成我們的需求了: count = le
用python計算0到一個數之內的所有質數
import math #匯入包 cal_range=int(input('please enter the range of primer number:'))#輸入一個數 prime_nums=[] for i in range(cal_range+1): if i==0 or i
用python計算100以內的素數
l = [] for x in range(100): #判斷如果x是素數,則列印,如果不是素數就跳過 if x <2: continue for i in range(2,x): if x % i == 0:
用python 計算100~999的水仙花數的個數
# author : momo #計算100~999的水仙花數的個數 sum = 0 for i in range(100,1000): a = 0 temp = i while temp: a = a+(temp%10)**3 temp //
利用 Python 計算MD5值
文章架構 目的 日常開發中,經常涉及到針對某些值進行加密的情況(隱私資訊,例如密碼等資訊)。 利用 Python 某些模組將 DataFrame(pandas)某列進行MD5加密處理很方便。 利用Python 3 與 Python 2中不同模組
用python計算你最後淘寶雙11能量值還能剩多少!
惡趣味 這幾天經常收到訊息,開啟一看都是 “快快 幫我點個贊”,“我正在pk…” 不幸我昨天也入坑了,被幾個好朋友拉進去了他們的戰隊。各個熱血澎湃的。但這個活動實在是賣人情,兩個戰隊要pk點贊數,一個人一天最多給6個戰隊點贊。兩方不停的找各種好友幫你點贊,贏得一
測試python計算MD5和CRC的速度
大量資料想均勻分佈到不同的資料庫儲存,當前方法將key進行MD5或CRC計算,取最後一位分別對應到相應的儲存位置。測文字17721088行。 兩個指令碼如下: MD5部分 import hashlib import time file_list = open('d
用JavaScript實現MD5,SHA1加密
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905
MD5 SHA1 CRC32是什麼意思?主要有什麼區別?
什麼是MD5,什麼是SHA-1,如何校驗這些Hash。還有拿單個ISO檔案的MD5,SHA-1訊問是不是原版的問題,在這裡,對以上問題做一個終結解釋! 讓我們先來了解一些基本知識,瞭解hash。 Hash,一般翻譯做“雜湊”,也有直接音譯為”雜湊”的,就是把任意長度的輸
用Python實現MD5&RSA簽名和驗籤
用pem檔案 pub_key.pem -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChNn3wKRtPmxaKq2dKsfMn6sO6AKxvtxZgNdh7 HBWq
Python計算大檔案crc32值
直接看程式碼吧☺ #!usr/bin/env python #-*- coding:utf-8 -*- """ @author: guoqianqian @file: mycrc32.py
用python計算圓周率
from 算法 耗時 當前時間 根據 sin () result -a 一、算法:馬青公式 π/4=4arctan1/5-arctan1/239 這個公式由英國天文學教授約翰·馬青於1706年發現。他利用這個公式計算到了100位的圓周率。馬青公式每計
Python計算一個目錄下的所有文件的md5值,在Linux系統下面
linux md5 python walk hashlib 實現代碼如下:#!/usr/bin/python #*-*coding:utf8*-* import os import sys import hashlib def md5sum(data): with open(d
用python實現LBP特征點計算
i+1 [0 code read cvt lena 實現 ims numpy 1 import cv2 2 import numpy as np 3 4 5 def olbp(src): 6 dst = np.zeros(src.shape,dty
用python腳本來計算100以內奇數或者偶數之和
int usr continue 計算 while odin python腳本 print 奇數 #!/usr/bin/python#coding:utf-8#while#計算1+2+3+...+100的和#計算1+3+5...+99的和sum=0i=0while i<
Windows計算下載文件的SHA256 MD5 SHA1
引用 you certutil 下載文件 rtu 下載 static hash CA 引用自 http://blog.163.com/licanli2082@126/blog/static/35748686201284611330/ certutil -hashfile y
《用Python做科學計算》——Traits為Python新增型別定義
Python作為一種動態程式語言,它沒有變數型別,這種靈活性給快速開發帶來了很多便利,不過它也有缺點。Traits庫的一個很重要的目的就是為了解決這些缺點所帶來的問題。 對Traits作用的理解 當函式,類或者一些封裝的通用演算法中的某些部分會因為資料型別不同而