Hola - utilizo 4 rutinas MD5 en un programa que trabajen perfectamente: el #1 - desmenuza un archivo - el standard #2 - desmenuza el #3 de a (copia binaria del archivo del cojín + del archivo de blanco) - desmenuza (archivo del cojín + de blanco leído en ansistring) - un que sea extremadamente slow* para los archivos grandes. - Leo el buffers del bloque 32K pero por otra parte tengo que convertir a un un carbón de leña ansistring a la vez. El considera mi code. #4 - desmenuzar la secuencia (Memo.text). medios extremadamente lentos del
* - tomas por lo menos 10 veces más de largo que MD5 standard. (causa que no quiero admitir que toma 100 veces tan largas). el
If proporcionó iguales, en total, las secuencias resultantes, #2, #3 y #4 todos producen el exacto el mismo picadillo, que es supremo - es decir extremadamente impotant. Para utilizar mis funciones MD5, deben ser pasadas un nombre de fichero o un AnsiString. ¿el
In el extremo, mi pregunta soy, puedo leer rápidamente archivos enormes en directo en pedazos ansistring?
TIA - class= " lineNumbers " >1 del > |
:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
class= codeBody " prettyprint " del id= " codeSnippet842380 " del > StrBuf, StrBuf2, StrPad: el ansistring
// bufin2 - > arsenal [1..32768] de AnsiChar
// StrPad se asigna uno de varios, usuario seleccionado,
protocolos anticolisión de //
repetición
BlockRead (InFile, Bufin2, SizeOf (Bufin2), NumRead);
BytsRem: = BytsRem - NumRead;
NBlks: = NBlks + 1;
StrBuf: = '';
si NumRead > 0 entonces
para k: = 1 a NumRead hace // ** retardarse extremadamente para los archivos grandes
StrBuf: = StrBuf+AnsiString (Bufin2 [k]);
si NBlks = 1 entonces
StrBuf2: = AnsiString (StrPad+StrBuf)
StrBuf2: = AnsiString (StrBuf2+StrBuf);
MD5Long: = MD5Hex (MD5Str (StrBuf2));
hasta (NumRead = 0) o (BytsRem = 0); // o (NBlks = 2);
Closefile (InFile);
// terminó el picadillo se contiene en MD5Long
// más importante, MD5Long conviene exactamente con
los archivos “copiados” binarios de // desmenuzan - ver mi #2.
class= > " claro " de
class= del
|