2012-12-18 45 views

回答

0

對於大文件,可以將文件的內存映射部分,計算總和,重新映射到文件的下一部分並繼續求和,依此類推。

5

確切的代碼不能帶流,不。

看看循環while (currentBlock <= endOfFullBlocks)。它通過實際的哈希代碼一次運行64個字節。因此,爲了修改此代碼以獲取流,您需要從流中讀取這64個字節,而不是從sarray(它指向與輸入src相同的數據)中讀取這些字節。每讀

64個字節是一種有效的方式來讀取10GB的數據,所以實際上你可能想引入第二環:一個從文件中讀取較大數據塊和一個放的是64字節的塊通過哈希。

你當然還需要修改代碼來處理,這不是的64

或者多輸入數據的「剩餘」部分,找到「初始化」,「更新不同的SHA1實施「,」完成「/」摘要「功能,並使用它。這樣的接口的想法是,你可以隨意調用「更新」次數,傳遞任何大小的數據塊以方便閱讀你的流。

相關問題