10
A
回答
13
您应该使用DCPcrypt v2并读取缓冲的文件,并将SHA扫描器与缓冲区一起送入,直到读完完整的5GB文件。
如果您想知道如何读取缓冲的大文件,请参阅我的回答about a file copy using custom buffering。
所以在概念(没有真正的Delphi代码!):
function GetShaHash(const AFilename: String)
begin
sha := TSHAHasher.Create;
SetLength(Result, sha.Size);
file := OpenFile(AFilename, GENERIC_READ);
while not eof file do
begin
BytesRead := ReadFile(file, buffer[0], 0, 1024 * 1024);
sha.Update(buffer[0], BytesRead);
end;
sha.Final(Result[0]);
CloseFile(file);
end;
0
有一个OpenSSL的Delphi界面,不是吗?
这应该为您提供更好的表现。
5
我会建议沃尔夫冈·埃尔哈特的CRC /散列。
http://home.netsurf.de/wolfgang.ehrhardt/
它的快速和“可与大多数当前帕斯卡被编译(TP 5/5.5/6,BP 7,VP 2.1,FPC 1.0/2.0/2.2)和Delphi版本(与V1试验到V7/9/10)”。
我也用过D11/D12。
+0
是的,这也是一个不错的,非常好的asm优化:) – 2009-02-16 15:51:43
0
如果我没有记错,Indy带有几个基于流的哈希方法。
相关问题
- 1. 德尔福v.Word - 如何从德尔福
- 2. 德尔福时间数学计算器
- 3. 德尔福2010年计算列在DBGrid
- 4. 德尔福:德尔福和Microsoft SQL Server 2005从功能不好的计算值
- 5. 德尔福:一个线程
- 6. 德尔福:一个TByteDynArray
- 7. 德尔福7德尔福XE2 res文件问题
- 8. 德尔福 - 根据大小
- 9. 德尔福HID Delphi7和德尔福XE2
- 10. 德尔福 - 查找文本大TMemo
- 11. 德尔福 - 形式最大化事件
- 12. 德尔福 - 如何提高
- 13. 如何从德尔福
- 14. 德尔福:TOpenDialog + VCL样式文件大量损坏文件
- 15. 德尔福保存到文本文件
- 16. 德尔福的2个点计算WGS84路口
- 17. DES_KEY_SZ德尔福
- 18. 德尔福Application.HintColor
- 19. 德尔福
- 20. 德尔福
- 21. 与德尔福
- 22. 德尔福
- 23. 德尔福:TRegExpr
- 24. 类德尔福
- 25. QR码组件德尔福
- 26. 德尔福DBTree组件
- 27. 德尔福IRC组件
- 28. 德尔福7和事件
- 29. 德尔福的德文字符集
- 30. MemoryStream中的文件THandle(德尔福)
我没有包含真正的Delphi代码,因为我目前没有安装Delphi编译器。 – 2009-02-16 13:57:48