Je vérifie les hachages de fichiers en utilisant plusieurs algorithmes différents dans PowerShell. Lorsque j'utilise MacTripleDes, j'obtiens toujours des hachages différents. Tous les autres, tels que SHA256 ou MD5 donnent toujours des réponses fiables. Vous pourrez peut-être reproduire le problème sur votre propre ordinateur:
"this is a test" | out-file test.txt
get-filehash test.txt -algorithm sha256
get-filehash test.txt -algorithm sha256
get-filehash test.txt -algorithm mactripledes
get-filehash test.txt -algorithm mactripledes
J'obtiens les mêmes valeurs de hachage pour les deux premiers hachages, mais des valeurs différentes pour les deux seconds hachages. MacTripleDes est-il censé être utilisé différemment?
Algorithm Hash Path
--------- ---- ----
SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt
SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt
MACTRIPLEDES 904D74A529C7A739 C:\temp\test.txt
MACTRIPLEDES AF720778A2C878A2 C:\temp\test.txt
powershell
hash
user6722022
la source
la source
Get-FileHash
applet de commande ne semble pas prendre en charge un paramètre clé.Réponses:
MACTripleDES est différent des autres algorithmes proposés par l'
Get-FileHash
applet de commande. Pour être honnête, je ne sais pas pourquoi il a été inclus dans l'applet de commande. Ça ne correspond pas aux autres, OMI.SHA1, SHA256, MD5, RIPEMD, etc., ce sont toutes des fonctions de hachage normales. Ils prennent des données de longueur arbitraire et créent un condensé de longueur fixe qui représente ces données. MACTripleDES est différent cependant, en ce qu'il ne s'agit pas seulement d'un algorithme de hachage. Il a TripleDES dans le nom et 3DES est un algorithme de cryptage, pas un algorithme de hachage. La plus grande différence entre les fonctions de hachage et les fonctions de cryptage est que le cryptage peut être inversé avec une clé. Les hachages sont des fonctions à sens unique.
Et MAC signifie code d'authentification de message. C'est un code utilisé pour authentifier un message. Pour vérifier qu'il n'a pas été altéré. Les MAC sont conçus pour être éphémères ou uniques d'un message à l'autre.
Découvrez le constructeur :
StaticRandomNumberGenerator génère des nombres aléatoires ... des nombres aléatoires signifient que le résultat sera différent à chaque exécution.
la source
KeyedHashAlgorithm
objet. Mais il n'y a aucun moyen de faire non plus avecGet-FileHash
...Get-FileHash
ne vous permet pas de spécifier la clé à utiliser et génère à la place une clé aléatoire qu'il n'expose jamais à l'utilisateur, cela semble être un bogue (selon le titre original de la question) car vous ne pouvez pas réellement utiliser pour rien. (Pas que je comprenne pourquoi vous choisiriez MACTripleDES en premier lieu si vous vouliez un MAC.)Get-FileHash
devrait être une forme de RNG alambiqué?