Je veux rechercher un fichier en double par son hachage. À des fins de performance, je souhaite savoir s'il existe un hash / checksum stocké pour chaque fichier dans les systèmes de fichiers NTFS / FAT. S'il y a, je n'ai pas à les calculer tous pour rechercher mon fichier. P>
S'il y a, comment y accéder en utilisant .NET? P>
Si cela aide, ce seront des fichiers JPEG. Ont-ils une somme de contrôle? P>
3 Réponses :
Il n'y a rien de tel. P>
Windows permet aux écrivies aléatoires d'un fichier. Pourriez-vous imaginer les frais généraux si chaque écriture est nécessaire pour recharger le checksum du fichier?
J'imagine que les fichiers d'EXE au moins ont une somme de contrôle, car d'autres types peuvent avoir.
@MarkRansom Vous pouvez imaginer que cela ne soit calculé que lorsqu'il est demandé et mis en cache quelque part, avec la seule chose qui se passe chaque fois que le fichier est écrit étant l'invalidation du cache - beaucoup moins coûteuse que le recalculer à chaque fois
En outre, un hachage de détection d'erreur n'a pas besoin d'être cryptographiquement sécurisé: il est correct d'utiliser une sorte de motif cyclique comme une addition simple ou XOR; Quelque chose où quelques blocs modifiés peuvent être compensés sans recalculer le hachage complet.
Windows ne stocke pas de hash pour chaque fichier. Comme le suggère Jader Dias, il y a des contrôles de contrôle pour les EXE et les DLL, mais ce ne sont pas les droïdes que vous recherchez. P>
Notez que même si vous aviez un tel hash, cela ne garantit toujours pas l'unicité. Si vous avez trouvé deux fichiers avec le même hachage (et la même taille), vous devez toujours comparer le contenu pour déterminer si les fichiers étaient vraiment identiques. p>
Les fichiers JPEG peuvent avoir des checks ou des hachages, mais vous ne pouvez probablement pas compter sur eux non plus. P>
+1 pour "Notez que même si vous aviez un tel hash, cela ne garantit toujours pas l'unicité." ... Bien qu'il soit vrai que de très petits changements presque toujours i> aboutissent à un hachage unique, les utilisateurs ont un moyen de produire ces conditions de tranchants magiques.
Windows si vous avez la recherche maintenant et si je me rappelle correctement, vous pouvez écrire vos propres plugins pour celui-ci (en d'autres termes, pour indexer des fichiers d'une manière personnalisée). Vraisemblablement, vous pouvez écrire un plugin pour JPGS et définissez simplement des appels d'API de recherche pour rechercher des fichiers (après l'indexation de Windows). P>
Je pense que Windows Index SMS (en tant que noms de fichiers), pas d'images.
De MSDN A "rel =" Nofollow Noreferrer "> msdn.microsoft.com/en-us/library/... >: Le contenu indexé est basé sur les types de fichiers et de données pris en charge via des add-ins ... Filtres inclus dans la recherche de fenêtres Support sur 200 types courants de données Y compris ... Fichiers en texte clair, HTML et bien d'autres. Bien sûr, alors que cela prend en charge de manière native certains fichiers, comme il l'indique, vous pouvez indexer n'importe quoi avec un plugin personnalisé. Certes, la recherche peut indiquer des mp3 - JPGS ne serait pas différent.