Robocopy fait désormais partie des outils livrés par le système d'exploitation. Il est livré en version 64 bits tant sur Windows Vista que Windows Server 2008.
Robocopy a t il une version dispo pour fonctionné sur un Win 2008 Ent 64 bits ?
Merci
Chris
Bonjour,
Robocopy fait désormais partie des outils livrés par le système
d'exploitation. Il est livré en version 64 bits tant sur Windows Vista que
Windows Server 2008.
Robocopy fait désormais partie des outils livrés par le système d'exploitation. Il est livré en version 64 bits tant sur Windows Vista que Windows Server 2008.
Robocopy a t il une version dispo pour fonctionné sur un Win 2008 Ent 64 bits ?
Merci
Chris
Chris
COOOOOOLLLL
Merci je ne le savait pas !
@ +
Chris
"Stephane [MS]" a écrit dans le message de news:
Bonjour,
Robocopy fait désormais partie des outils livrés par le système d'exploitation. Il est livré en version 64 bits tant sur Windows Vista que Windows Server 2008.
Robocopy a t il une version dispo pour fonctionné sur un Win 2008 Ent 64 bits ?
Merci
Chris
COOOOOOLLLL
Merci je ne le savait pas !
@ +
Chris
"Stephane [MS]" <spapp@online.microsoft.com> a écrit dans le message de
news: BF456564-1342-4353-998C-11330786A31B@microsoft.com...
Bonjour,
Robocopy fait désormais partie des outils livrés par le système
d'exploitation. Il est livré en version 64 bits tant sur Windows Vista que
Windows Server 2008.
Robocopy fait désormais partie des outils livrés par le système d'exploitation. Il est livré en version 64 bits tant sur Windows Vista que Windows Server 2008.
Robocopy a t il une version dispo pour fonctionné sur un Win 2008 Ent 64 bits ?
Merci
Chris
Gloops
Bonjour,
Stephane [MS] a écrit, le 07/07/2008 21:28 :
Bonjour,
Robocopy fait désormais partie des outils livrés par le système d'exploitation. Il est livré en version 64 bits tant sur Windows Vist a que Windows Server 2008.
C'est pas mal, ce truc-là.
Après, il reste la traditionnelle figure de style qui consiste à vérifier la sauvegarde. Il y a des outils pour obtenir la somme MD5, on peut la stocker dans un sous-répertoire exprès pour, et pareil sur le support de sauvegarde, et ensuite comparer les deux.
Il a déjà dû y avoir du monde qui a planché, là-dessus ?
Bonjour,
Stephane [MS] a écrit, le 07/07/2008 21:28 :
Bonjour,
Robocopy fait désormais partie des outils livrés par le système
d'exploitation. Il est livré en version 64 bits tant sur Windows Vist a
que Windows Server 2008.
C'est pas mal, ce truc-là.
Après, il reste la traditionnelle figure de style qui consiste à
vérifier la sauvegarde. Il y a des outils pour obtenir la somme MD5, on
peut la stocker dans un sous-répertoire exprès pour, et pareil sur le
support de sauvegarde, et ensuite comparer les deux.
Il a déjà dû y avoir du monde qui a planché, là-dessus ?
Robocopy fait désormais partie des outils livrés par le système d'exploitation. Il est livré en version 64 bits tant sur Windows Vist a que Windows Server 2008.
C'est pas mal, ce truc-là.
Après, il reste la traditionnelle figure de style qui consiste à vérifier la sauvegarde. Il y a des outils pour obtenir la somme MD5, on peut la stocker dans un sous-répertoire exprès pour, et pareil sur le support de sauvegarde, et ensuite comparer les deux.
Il a déjà dû y avoir du monde qui a planché, là-dessus ?
moi
Bonjour,
Après, il reste la traditionnelle figure de style qui consiste à vérifier la sauvegarde. Il y a des outils pour obtenir la somme MD5, on peut la stocker dans un sous-répertoire exprès pour, et pareil sur le support de sauvegarde, et ensuite comparer les deux.
Il a déjà dû y avoir du monde qui a planché, là-dessus ?
Le plus simple pour un script est sans doute d'utiliser ça :
http://xstandard.com/en/documentation/xmd5/
C'est une petite dll qui contient deux fonctions :
GetCheckSumFromFile(sPathName As String) As String GetCheckSumFromString(sString As String) As String
tout simplement .
Soit, pour comparer deux fichiers : ========================== Dim objMD5, Chaine1, Chaine2 Set objMD5 = CreateObject("XStandard.MD5") Chaine1 = objMD5.GetCheckSumFromFile("F:OriginauxFichier1.truc") Chaine2 = objMD5.GetCheckSumFromFile("G:CopiesFichier1.truc") If Chaine1 = Chaine2 Then msgbox " C'est pareil ... ;o) " Else MsgBox "C'est différent !" End If Set objMD5 = Nothing ============================ HB
Bonjour,
Après, il reste la traditionnelle figure de style qui consiste à
vérifier la sauvegarde. Il y a des outils pour obtenir la somme MD5,
on peut la stocker dans un sous-répertoire exprès pour, et pareil
sur
le support de sauvegarde, et ensuite comparer les deux.
Il a déjà dû y avoir du monde qui a planché, là-dessus ?
Le plus simple pour un script est sans doute d'utiliser ça :
http://xstandard.com/en/documentation/xmd5/
C'est une petite dll qui contient deux fonctions :
GetCheckSumFromFile(sPathName As String) As String
GetCheckSumFromString(sString As String) As String
tout simplement .
Soit, pour comparer deux fichiers :
========================== Dim objMD5, Chaine1, Chaine2
Set objMD5 = CreateObject("XStandard.MD5")
Chaine1 = objMD5.GetCheckSumFromFile("F:OriginauxFichier1.truc")
Chaine2 = objMD5.GetCheckSumFromFile("G:CopiesFichier1.truc")
If Chaine1 = Chaine2 Then
msgbox " C'est pareil ... ;o) "
Else
MsgBox "C'est différent !"
End If
Set objMD5 = Nothing
============================
HB
Après, il reste la traditionnelle figure de style qui consiste à vérifier la sauvegarde. Il y a des outils pour obtenir la somme MD5, on peut la stocker dans un sous-répertoire exprès pour, et pareil sur le support de sauvegarde, et ensuite comparer les deux.
Il a déjà dû y avoir du monde qui a planché, là-dessus ?
Le plus simple pour un script est sans doute d'utiliser ça :
http://xstandard.com/en/documentation/xmd5/
C'est une petite dll qui contient deux fonctions :
GetCheckSumFromFile(sPathName As String) As String GetCheckSumFromString(sString As String) As String
tout simplement .
Soit, pour comparer deux fichiers : ========================== Dim objMD5, Chaine1, Chaine2 Set objMD5 = CreateObject("XStandard.MD5") Chaine1 = objMD5.GetCheckSumFromFile("F:OriginauxFichier1.truc") Chaine2 = objMD5.GetCheckSumFromFile("G:CopiesFichier1.truc") If Chaine1 = Chaine2 Then msgbox " C'est pareil ... ;o) " Else MsgBox "C'est différent !" End If Set objMD5 = Nothing ============================ HB
Gloops
mdnews a écrit, le 24/07/2008 08:41 :
Fsum http://www.slavasoft.com/fsum/ Un seul exe Freeware 92ko.
OK, merci. Autrement il y a aussi http://www.fourmilab.ch/md5/md5.zip
qui est fourni avec les sources en C. A l'occasion j'essaierais bien en C#, mais pas tout de suite.
mdnews a écrit, le 24/07/2008 08:41 :
Fsum
http://www.slavasoft.com/fsum/
Un seul exe Freeware 92ko.
OK, merci.
Autrement il y a aussi
http://www.fourmilab.ch/md5/md5.zip
qui est fourni avec les sources en C.
A l'occasion j'essaierais bien en C#, mais pas tout de suite.
Fsum http://www.slavasoft.com/fsum/ Un seul exe Freeware 92ko.
OK, merci. Autrement il y a aussi http://www.fourmilab.ch/md5/md5.zip
qui est fourni avec les sources en C. A l'occasion j'essaierais bien en C#, mais pas tout de suite.
Gloops
C'est pourtant vrai qu'on est dans le newsgroup scripting :)
Merci pour ce tuyau intéressant, ce qu'il y a de bien avec ça par rapport à un fichier exe, c'est qu'on n'a pas besoin de se préoccuper de son chemin d'accès.
Après, on n'a plus qu'à monter la récursivité pour parcourir l'arborescence, somme toute une figure de style assez courante. Et aussi, une idée pour une page web, pour les utilisateurs qui ne se plongeront pas là-dedans.
__________________________________ moi a écrit, le 26/07/2008 13:50 :
Le plus simple pour un script est sans doute d'utiliser ça :
http://xstandard.com/en/documentation/xmd5/
C'est une petite dll qui contient deux fonctions :
GetCheckSumFromFile(sPathName As String) As String GetCheckSumFromString(sString As String) As String
tout simplement .
Soit, pour comparer deux fichiers : ======================== === Dim objMD5, Chaine1, Chaine2 Set objMD5 = CreateObject("XStandard.MD5") Chaine1 = objMD5.GetCheckSumFromFile("F:OriginauxFichier1.truc") Chaine2 = objMD5.GetCheckSumFromFile("G:CopiesFichier1.truc") If Chaine1 = Chaine2 Then msgbox " C'est pareil ... ;o) " Else MsgBox "C'est différent !" End If Set objMD5 = Nothing ======================== =====
HB
C'est pourtant vrai qu'on est dans le newsgroup scripting :)
Merci pour ce tuyau intéressant, ce qu'il y a de bien avec ça par
rapport à un fichier exe, c'est qu'on n'a pas besoin de se préoccuper de
son chemin d'accès.
Après, on n'a plus qu'à monter la récursivité pour parcourir
l'arborescence, somme toute une figure de style assez courante.
Et aussi, une idée pour une page web, pour les utilisateurs qui ne se
plongeront pas là-dedans.
__________________________________
moi a écrit, le 26/07/2008 13:50 :
Le plus simple pour un script est sans doute d'utiliser ça :
http://xstandard.com/en/documentation/xmd5/
C'est une petite dll qui contient deux fonctions :
GetCheckSumFromFile(sPathName As String) As String
GetCheckSumFromString(sString As String) As String
tout simplement .
Soit, pour comparer deux fichiers :
======================== ===
Dim objMD5, Chaine1, Chaine2
Set objMD5 = CreateObject("XStandard.MD5")
Chaine1 = objMD5.GetCheckSumFromFile("F:OriginauxFichier1.truc")
Chaine2 = objMD5.GetCheckSumFromFile("G:CopiesFichier1.truc")
If Chaine1 = Chaine2 Then
msgbox " C'est pareil ... ;o) "
Else
MsgBox "C'est différent !"
End If
Set objMD5 = Nothing
======================== =====
C'est pourtant vrai qu'on est dans le newsgroup scripting :)
Merci pour ce tuyau intéressant, ce qu'il y a de bien avec ça par rapport à un fichier exe, c'est qu'on n'a pas besoin de se préoccuper de son chemin d'accès.
Après, on n'a plus qu'à monter la récursivité pour parcourir l'arborescence, somme toute une figure de style assez courante. Et aussi, une idée pour une page web, pour les utilisateurs qui ne se plongeront pas là-dedans.
__________________________________ moi a écrit, le 26/07/2008 13:50 :
Le plus simple pour un script est sans doute d'utiliser ça :
http://xstandard.com/en/documentation/xmd5/
C'est une petite dll qui contient deux fonctions :
GetCheckSumFromFile(sPathName As String) As String GetCheckSumFromString(sString As String) As String
tout simplement .
Soit, pour comparer deux fichiers : ======================== === Dim objMD5, Chaine1, Chaine2 Set objMD5 = CreateObject("XStandard.MD5") Chaine1 = objMD5.GetCheckSumFromFile("F:OriginauxFichier1.truc") Chaine2 = objMD5.GetCheckSumFromFile("G:CopiesFichier1.truc") If Chaine1 = Chaine2 Then msgbox " C'est pareil ... ;o) " Else MsgBox "C'est différent !" End If Set objMD5 = Nothing ======================== =====
HB
moi
Bonjour,
Gloops wrote:
C'est pourtant vrai qu'on est dans le newsgroup scripting :)
http://xstandard.com/en/documentation/xmd5/
... et à ce propos ... quelqu'un connait-il une dll "du même type en plus vaste" pour disposer aussi d'autres outils de "hashage" ( SHA-1 ou autre ) ?
A+
HB
Bonjour,
Gloops wrote:
C'est pourtant vrai qu'on est dans le newsgroup scripting :)
http://xstandard.com/en/documentation/xmd5/
... et à ce propos ...
quelqu'un connait-il une dll "du même type en plus vaste"
pour disposer aussi d'autres outils de "hashage" ( SHA-1 ou autre ) ?
C'est pourtant vrai qu'on est dans le newsgroup scripting :)
http://xstandard.com/en/documentation/xmd5/
... et à ce propos ... quelqu'un connait-il une dll "du même type en plus vaste" pour disposer aussi d'autres outils de "hashage" ( SHA-1 ou autre ) ?
A+
HB
Gilles LAURENT [MVP]
"moi" wrote:
Bonjour,
Bonjour,
.... et à ce propos ... quelqu'un connait-il une dll "du même type en plus vaste" pour disposer aussi d'autres outils de "hashage" ( SHA-1 ou autre ) ?
Microsoft CAPICOM qui est un serveur COM qui s'interface avec les APIs de cryptographie natives <http://www.microsoft.com/downloads/details.aspx?FamilyID0ee43a-a843-462f-abb5-ff88ea5896f6&displaylang=fr>
Les algorithmes de hachage SHA1, MD2, MD4, MD5, SHA256, SHA384 et SHA512 sont supportés (en fonction de la plateformes). Après l'enregistrement de la librairie capicom.dll via regsvr32, pour obtenir le hash SHA1 d'une chaine de caractères :
Set oHash=CreateObject("CAPICOM.HashedData") oHash.Algorithm=0 oHash.Hash "MaChaineDeCaractères" WScript.Echo oHash.Value
Note: Plusieurs exemples sont disponibles au sein de la distribution
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"moi" wrote:
Bonjour,
Bonjour,
.... et à ce propos ...
quelqu'un connait-il une dll "du même type en plus vaste"
pour disposer aussi d'autres outils de "hashage" ( SHA-1 ou autre ) ?
Microsoft CAPICOM qui est un serveur COM qui s'interface avec les APIs de
cryptographie natives
<http://www.microsoft.com/downloads/details.aspx?FamilyID0ee43a-a843-462f-abb5-ff88ea5896f6&displaylang=fr>
Les algorithmes de hachage SHA1, MD2, MD4, MD5, SHA256, SHA384 et SHA512
sont supportés (en fonction de la plateformes). Après l'enregistrement de la
librairie capicom.dll via regsvr32, pour obtenir le hash SHA1 d'une chaine de
caractères :
Set oHash=CreateObject("CAPICOM.HashedData")
oHash.Algorithm=0
oHash.Hash "MaChaineDeCaractères"
WScript.Echo oHash.Value
Note: Plusieurs exemples sont disponibles au sein de la distribution
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
.... et à ce propos ... quelqu'un connait-il une dll "du même type en plus vaste" pour disposer aussi d'autres outils de "hashage" ( SHA-1 ou autre ) ?
Microsoft CAPICOM qui est un serveur COM qui s'interface avec les APIs de cryptographie natives <http://www.microsoft.com/downloads/details.aspx?FamilyID0ee43a-a843-462f-abb5-ff88ea5896f6&displaylang=fr>
Les algorithmes de hachage SHA1, MD2, MD4, MD5, SHA256, SHA384 et SHA512 sont supportés (en fonction de la plateformes). Après l'enregistrement de la librairie capicom.dll via regsvr32, pour obtenir le hash SHA1 d'une chaine de caractères :
Set oHash=CreateObject("CAPICOM.HashedData") oHash.Algorithm=0 oHash.Hash "MaChaineDeCaractères" WScript.Echo oHash.Value
Note: Plusieurs exemples sont disponibles au sein de la distribution
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
moi
Gilles LAURENT [MVP] wrote: (...)
Microsoft CAPICOM qui est un serveur COM qui (...)
Je viens de récupérer et d'installer. Curieusement le msi a créé deux répertoires dans program files sans enregistrer la dll ( présente en deux endroit distincts, d'ailleurs ) Un petit coup de regsvr32 et c'est parti !
La liste des méthodes et propriétés semble longue... Cela mériterait une documentation ... que je n'ai pas trouvée :o)
Toutefois, j'ai fait un petit test en simplifiant un des vbs fournis ( CHashData.vbs)... ça baigne.
Cependant je me pose des question... :
Dans l'exemple fourni, c'est la méthode OpenTextFife de FSO qui est utilisée pour récupérer le contenu du fichier à "hasher" je n'ai pas trouver la trace d'une méthode permettant de passer un fichier à la moulinette .
On peut cependant utiliser fso pour un fichier quelconque... J'ai testé avec un zip de 1,7 Mo et un jpg de 2.1 Mo et le fonctionnement semblait normal mais ...
En testant avec le même algo (MD5) avec xmd5.dll je n'ai pas eu la même empreinte ( pour le jpg et pour le zip): J'en déduis donc (peut-être hâtivement) que le mode d'accès joue un rôle important... On ne peut donc pas utiliser capicom pour hasher un fichier mais seulement pour le contenu d'un fichier. Donc si je récupère un fichier sur le web avec son empreinte md5 ( courant sur de nombreux serveur ftp désormais) capicom ne peut pas servir pour vérifier l'intégrité du fichier.
De plus, second problème : Ne va-t-on pas rencontrer une limite de taille que les outils accédant en binaire ( comme xmd5) ne rencontrerait pas ? ( et là j'en sais rien !)
Qu'en pense les spécialistes ?
merci d'avance, HB
Gilles LAURENT [MVP] wrote:
(...)
Microsoft CAPICOM qui est un serveur COM qui (...)
Je viens de récupérer et d'installer.
Curieusement le msi a créé deux répertoires
dans program files sans enregistrer la dll
( présente en deux endroit distincts, d'ailleurs )
Un petit coup de regsvr32 et c'est parti !
La liste des méthodes et propriétés semble longue...
Cela mériterait une documentation ... que je n'ai pas trouvée :o)
Toutefois, j'ai fait un petit test
en simplifiant un des vbs fournis ( CHashData.vbs)...
ça baigne.
Cependant je me pose des question... :
Dans l'exemple fourni, c'est la méthode OpenTextFife de FSO
qui est utilisée pour récupérer le contenu du fichier à "hasher"
je n'ai pas trouver la trace d'une méthode
permettant de passer un fichier à la moulinette .
On peut cependant utiliser fso pour un fichier quelconque...
J'ai testé avec un zip de 1,7 Mo et un jpg de 2.1 Mo
et le fonctionnement semblait normal mais ...
En testant avec le même algo (MD5) avec xmd5.dll
je n'ai pas eu la même empreinte ( pour le jpg et pour le zip):
J'en déduis donc (peut-être hâtivement)
que le mode d'accès joue un rôle important...
On ne peut donc pas utiliser capicom pour hasher un fichier
mais seulement pour le contenu d'un fichier.
Donc si je récupère un fichier sur le web avec son empreinte md5
( courant sur de nombreux serveur ftp désormais)
capicom ne peut pas servir pour vérifier l'intégrité du fichier.
De plus, second problème :
Ne va-t-on pas rencontrer une limite de taille
que les outils accédant en binaire ( comme xmd5)
ne rencontrerait pas ?
( et là j'en sais rien !)
Microsoft CAPICOM qui est un serveur COM qui (...)
Je viens de récupérer et d'installer. Curieusement le msi a créé deux répertoires dans program files sans enregistrer la dll ( présente en deux endroit distincts, d'ailleurs ) Un petit coup de regsvr32 et c'est parti !
La liste des méthodes et propriétés semble longue... Cela mériterait une documentation ... que je n'ai pas trouvée :o)
Toutefois, j'ai fait un petit test en simplifiant un des vbs fournis ( CHashData.vbs)... ça baigne.
Cependant je me pose des question... :
Dans l'exemple fourni, c'est la méthode OpenTextFife de FSO qui est utilisée pour récupérer le contenu du fichier à "hasher" je n'ai pas trouver la trace d'une méthode permettant de passer un fichier à la moulinette .
On peut cependant utiliser fso pour un fichier quelconque... J'ai testé avec un zip de 1,7 Mo et un jpg de 2.1 Mo et le fonctionnement semblait normal mais ...
En testant avec le même algo (MD5) avec xmd5.dll je n'ai pas eu la même empreinte ( pour le jpg et pour le zip): J'en déduis donc (peut-être hâtivement) que le mode d'accès joue un rôle important... On ne peut donc pas utiliser capicom pour hasher un fichier mais seulement pour le contenu d'un fichier. Donc si je récupère un fichier sur le web avec son empreinte md5 ( courant sur de nombreux serveur ftp désormais) capicom ne peut pas servir pour vérifier l'intégrité du fichier.
De plus, second problème : Ne va-t-on pas rencontrer une limite de taille que les outils accédant en binaire ( comme xmd5) ne rencontrerait pas ? ( et là j'en sais rien !)
Qu'en pense les spécialistes ?
merci d'avance, HB
Gilles LAURENT [MVP]
"moi" a écrit dans le message de news:%
[...] | La liste des méthodes et propriétés semble longue... | Cela mériterait une documentation ... que je n'ai pas trouvée :o)
CAPICOM Hashed Data Object : http://msdn.microsoft.com/en-us/library/aa382440(VS.85).aspx
[...] | Dans l'exemple fourni, c'est la méthode OpenTextFife de FSO | qui est utilisée pour récupérer le contenu du fichier à "hasher" | je n'ai pas trouver la trace d'une méthode | permettant de passer un fichier à la moulinette .
Il suffit d'écrire une petite fonction ;-)
Exemple : CScript HashFile.vbs D:Downloadsetup.exe
--- Coupez ici : HashFile.vbs --- Function HashFile (strFilename, nAlgo)
' initialisation des objets Set oHash=CreateObject("CAPICOM.HashedData") Set oStream=CreateObject("ADODB.Stream")
' lecture du fichier en mode binaire oStream.Type=1: oStream.Open oStream.LoadFromFile strFilename BinStream=oStream.Read
' libération des ressources oStream.Close
' calcul du hash avec l'algorithme passé comme argument oHash.Algorithm=nAlgo oHash.Hash BinStream
' retour du hash au format texte HashFile=oHash.Value
[...] | En testant avec le même algo (MD5) avec xmd5.dll | je n'ai pas eu la même empreinte ( pour le jpg et pour le zip): | J'en déduis donc (peut-être hâtivement) | que le mode d'accès joue un rôle important... | On ne peut donc pas utiliser capicom pour hasher un fichier | mais seulement pour le contenu d'un fichier. | Donc si je récupère un fichier sur le web avec son empreinte md5 | ( courant sur de nombreux serveur ftp désormais) | capicom ne peut pas servir pour vérifier l'intégrité du fichier.
Le fichier à hasher doit être lu en mode binaire ! => voir exemple ci-dessus
| De plus, second problème : | Ne va-t-on pas rencontrer une limite de taille | que les outils accédant en binaire ( comme xmd5) | ne rencontrerait pas ? | ( et là j'en sais rien !)
Il est tout à fait possible de hasher un énorme fichier en appelant la méthode Hash par blocs de données (c'est généralement la méthode conseillée). Le hash ne sera calculé qu'à la lecture de la propriété Value.
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"moi" <moi@pas.la.ici> a écrit dans le message de
news:%23qJgAmO8IHA.3260@TK2MSFTNGP03.phx.gbl
[...]
| La liste des méthodes et propriétés semble longue...
| Cela mériterait une documentation ... que je n'ai pas trouvée :o)
CAPICOM Hashed Data Object :
http://msdn.microsoft.com/en-us/library/aa382440(VS.85).aspx
[...]
| Dans l'exemple fourni, c'est la méthode OpenTextFife de FSO
| qui est utilisée pour récupérer le contenu du fichier à "hasher"
| je n'ai pas trouver la trace d'une méthode
| permettant de passer un fichier à la moulinette .
Il suffit d'écrire une petite fonction ;-)
Exemple :
CScript HashFile.vbs D:Downloadsetup.exe
--- Coupez ici : HashFile.vbs ---
Function HashFile (strFilename, nAlgo)
' initialisation des objets
Set oHash=CreateObject("CAPICOM.HashedData")
Set oStream=CreateObject("ADODB.Stream")
' lecture du fichier en mode binaire
oStream.Type=1: oStream.Open
oStream.LoadFromFile strFilename
BinStream=oStream.Read
' libération des ressources
oStream.Close
' calcul du hash avec l'algorithme passé comme argument
oHash.Algorithm=nAlgo
oHash.Hash BinStream
' retour du hash au format texte
HashFile=oHash.Value
[...]
| En testant avec le même algo (MD5) avec xmd5.dll
| je n'ai pas eu la même empreinte ( pour le jpg et pour le zip):
| J'en déduis donc (peut-être hâtivement)
| que le mode d'accès joue un rôle important...
| On ne peut donc pas utiliser capicom pour hasher un fichier
| mais seulement pour le contenu d'un fichier.
| Donc si je récupère un fichier sur le web avec son empreinte md5
| ( courant sur de nombreux serveur ftp désormais)
| capicom ne peut pas servir pour vérifier l'intégrité du fichier.
Le fichier à hasher doit être lu en mode binaire !
=> voir exemple ci-dessus
| De plus, second problème :
| Ne va-t-on pas rencontrer une limite de taille
| que les outils accédant en binaire ( comme xmd5)
| ne rencontrerait pas ?
| ( et là j'en sais rien !)
Il est tout à fait possible de hasher un énorme fichier en appelant la
méthode Hash par blocs de données (c'est généralement la méthode
conseillée). Le hash ne sera calculé qu'à la lecture de la propriété
Value.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
CAPICOM Hashed Data Object : http://msdn.microsoft.com/en-us/library/aa382440(VS.85).aspx
[...] | Dans l'exemple fourni, c'est la méthode OpenTextFife de FSO | qui est utilisée pour récupérer le contenu du fichier à "hasher" | je n'ai pas trouver la trace d'une méthode | permettant de passer un fichier à la moulinette .
Il suffit d'écrire une petite fonction ;-)
Exemple : CScript HashFile.vbs D:Downloadsetup.exe
--- Coupez ici : HashFile.vbs --- Function HashFile (strFilename, nAlgo)
' initialisation des objets Set oHash=CreateObject("CAPICOM.HashedData") Set oStream=CreateObject("ADODB.Stream")
' lecture du fichier en mode binaire oStream.Type=1: oStream.Open oStream.LoadFromFile strFilename BinStream=oStream.Read
' libération des ressources oStream.Close
' calcul du hash avec l'algorithme passé comme argument oHash.Algorithm=nAlgo oHash.Hash BinStream
' retour du hash au format texte HashFile=oHash.Value
[...] | En testant avec le même algo (MD5) avec xmd5.dll | je n'ai pas eu la même empreinte ( pour le jpg et pour le zip): | J'en déduis donc (peut-être hâtivement) | que le mode d'accès joue un rôle important... | On ne peut donc pas utiliser capicom pour hasher un fichier | mais seulement pour le contenu d'un fichier. | Donc si je récupère un fichier sur le web avec son empreinte md5 | ( courant sur de nombreux serveur ftp désormais) | capicom ne peut pas servir pour vérifier l'intégrité du fichier.
Le fichier à hasher doit être lu en mode binaire ! => voir exemple ci-dessus
| De plus, second problème : | Ne va-t-on pas rencontrer une limite de taille | que les outils accédant en binaire ( comme xmd5) | ne rencontrerait pas ? | ( et là j'en sais rien !)
Il est tout à fait possible de hasher un énorme fichier en appelant la méthode Hash par blocs de données (c'est généralement la méthode conseillée). Le hash ne sera calculé qu'à la lecture de la propriété Value.
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr