簡體   English   中英

python sha1哈希計算的時間效率

[英]Time efficiency of python sha1 hash calculation

對於這兩種計算sha1哈希的方式,考慮到時間效率 ,它們是一樣的嗎?

(1)將字符串拆分為小塊並多次更新哈希

import hashlib

...
...
sha1 = hashlib.sha1()
sha1.update(chunk1)
sha1.update(chunk2)
...

(2)將完整的字符串傳遞給哈希函數,並且僅計算一次哈希

import hashlib
...
...
sha1 = hashlib.sha1()
sha1.update(the_complete_string)
...

每個塊都有額外的開銷:

  • 您必須分割字符串
  • 每個塊都有對hashlib的python調用
  • 哈希庫必須設置為處理每個塊

因此,開銷隨塊數而定。 如果您有恆定數量的塊,則可能無關緊要。 但是,如果將重要的字符串拆分為一個字符的塊並使用每個一個字符的塊進行更新,則分塊的方法將比整個字符串的方法慢得多。

就是說,將塊組合成單個字符串或字節對象存在開銷。 如果您擁有的是塊,而將它們組合在一起的唯一原因是為了提高哈希性能,那可能就不會節省時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM