Question
[Résolu] chiffrer / déchiffrer une chaîne avec clé
- jego
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 14 ans 3 mois #10660
par jego
[Résolu] chiffrer / déchiffrer une chaîne avec clé a été créé par jego
Bonjour,
Etant débutant en PS j'étudie comment chiffrer et déchiffrer une chaîne à l'aide d'une clé
Ne trouvant pas de réponses sur le ouaib , me voila
A la section chiffrage, tout va bien.
Part contre au déchiffrage, cela se gate...
A l’exécution du script, j'ai le message suivant
ConvertTo-SecureString : Impossible de lier le paramètre « Key ». Impossible de convertir la valeur « System.Security.SecureString » du type « System.Security.SecureString » en type « System.Byte ».
Au niveau de C:\Users\bureau64\Documents\Chiffrage.ps1 : 29 Caractère : 52
+ $chaine_originale = ConvertTo-SecureString -key <<<< $cle -string $chaine_chiffree
+ CategoryInfo : InvalidArgument: (
[ConvertTo-SecureString], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand
Il y a un problème de convertion de type.
Mais la je cale
Merci d'avance pour votre Aide
Swing
Message édité par: swing, à: 25/11/11 16:15
Message édité par: swing, à: 25/11/11 16:16<br><br>Message édité par: swing, à: 2/12/11 11:41
Etant débutant en PS j'étudie comment chiffrer et déchiffrer une chaîne à l'aide d'une clé
Ne trouvant pas de réponses sur le ouaib , me voila
A la section chiffrage, tout va bien.
Part contre au déchiffrage, cela se gate...
A l’exécution du script, j'ai le message suivant
ConvertTo-SecureString : Impossible de lier le paramètre « Key ». Impossible de convertir la valeur « System.Security.SecureString » du type « System.Security.SecureString » en type « System.Byte ».
Au niveau de C:\Users\bureau64\Documents\Chiffrage.ps1 : 29 Caractère : 52
+ $chaine_originale = ConvertTo-SecureString -key <<<< $cle -string $chaine_chiffree
+ CategoryInfo : InvalidArgument: (
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand
Il y a un problème de convertion de type.
Mais la je cale
Merci d'avance pour votre Aide
Swing
La pièce jointe Chiffrage.ps1 est absente ou indisponible
Message édité par: swing, à: 25/11/11 16:15
Message édité par: swing, à: 25/11/11 16:16<br><br>Message édité par: swing, à: 2/12/11 11:41
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 14 ans 3 mois #10688
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:chiffrer / déchiffrer une chaîne avec clé
Bonsoir,
Si tu utilises le paramètre '-key' lors de l'encryptage, tu dois utiliser le même paramètre lors du décryptage.
Idem avec le paramètre '-securekey'.
Dans ton code, comme tu travailles avec une clef du type \"System.Security.SecureString\", remplaces '-key' par '-securekey' lors de l'utilisation de la Cmdlet 'ConvertTo-SecureString'.
Tu trouveras plus d'informations via :
[code:1]Help ConvertTo-SecureString -Detailled[/code:1]
... dont notamment des explications sur ces 2 paramètres, qui ne prennent pas le même type de valeur :
[code:1] -Key <Byte[]>
Spécifie la clé de chiffrement à utiliser lors de la conversion d'une chaîne sécurisée en chaîne standard chiffrée. Les longueurs de clé valides sont 16, 24 et 32 octets.
-SecureKey <SecureString>
Spécifie la clé de chiffrement à utiliser lors de la conversion d'une chaîne sécurisée en chaîne standard chiffrée. La clé doit être fournie sous forme de chaîne sécurisée. La chaîne sécurisée est convertie en tableau d'octets avant d'être utilisée comme clé. Les longueurs de clé valides sont 16, 24 et 32 octets.[/code:1]
N.B. : \"Les longueurs de clé valides sont 16, 24 et 32 octets.\"
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 30/11/11 20:53
Si tu utilises le paramètre '-key' lors de l'encryptage, tu dois utiliser le même paramètre lors du décryptage.
Idem avec le paramètre '-securekey'.
Dans ton code, comme tu travailles avec une clef du type \"System.Security.SecureString\", remplaces '-key' par '-securekey' lors de l'utilisation de la Cmdlet 'ConvertTo-SecureString'.
Tu trouveras plus d'informations via :
[code:1]Help ConvertTo-SecureString -Detailled[/code:1]
... dont notamment des explications sur ces 2 paramètres, qui ne prennent pas le même type de valeur :
[code:1] -Key <Byte[]>
Spécifie la clé de chiffrement à utiliser lors de la conversion d'une chaîne sécurisée en chaîne standard chiffrée. Les longueurs de clé valides sont 16, 24 et 32 octets.
-SecureKey <SecureString>
Spécifie la clé de chiffrement à utiliser lors de la conversion d'une chaîne sécurisée en chaîne standard chiffrée. La clé doit être fournie sous forme de chaîne sécurisée. La chaîne sécurisée est convertie en tableau d'octets avant d'être utilisée comme clé. Les longueurs de clé valides sont 16, 24 et 32 octets.[/code:1]
N.B. : \"Les longueurs de clé valides sont 16, 24 et 32 octets.\"
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 30/11/11 20:53
Connexion ou Créer un compte pour participer à la conversation.
- jego
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 14 ans 3 mois #10709
par jego
Réponse de jego sur le sujet Re:chiffrer / déchiffrer une chaîne avec clé
Merci Matthew 
Mon code marche enfin
le code définitif est maintenant
[code:1]
&{
cd c:\temp
# chiffrage
# Création de la chaine sécurisée utilisé pourla clé
$cle = ConvertTo-SecureString 'tititata' -asplaintext -force
# Sécurisation de la chaine à chiffrer
$secure_string_pwd = ConvertTo-SecureString \"Code d'entrée batiment : 02/12/2011\" -asplaintext -force
# Chiffrage de la chaîne et transfert dans le fichier chaine_c3.txt
ConvertFrom-SecureString -secureString $secure_string_pwd -securekey $cle > c:\temp\chaine_c3.txt
# vérification du contenue du fichier
get-content chaine_c3.txt
###############################
# déchiffrage
###############################
# Récupération de fichier dans la variable $chaine_chiffrée
$chaine_chiffree = get-content .\chaine_c3.txt
# déchifrage de la variable
$chaine_originale = ConvertTo-SecureString -securekey $cle -string $chaine_chiffree
# Utilisation d'une méthiode du Framework pour afficher la chaîne
$ptr = [system.Runtime.InteropServices.Marshal]::«»SecureStringToBSTR($chaine_originale)
$chaine_normale = [System.Runtime.InteropServices.Marshal]::«»PtrToStringUni($ptr)
write-host $chaine_normale
}
[/code:1]
@+
Swing
Mon code marche enfin
le code définitif est maintenant
[code:1]
&{
cd c:\temp
# chiffrage
# Création de la chaine sécurisée utilisé pourla clé
$cle = ConvertTo-SecureString 'tititata' -asplaintext -force
# Sécurisation de la chaine à chiffrer
$secure_string_pwd = ConvertTo-SecureString \"Code d'entrée batiment : 02/12/2011\" -asplaintext -force
# Chiffrage de la chaîne et transfert dans le fichier chaine_c3.txt
ConvertFrom-SecureString -secureString $secure_string_pwd -securekey $cle > c:\temp\chaine_c3.txt
# vérification du contenue du fichier
get-content chaine_c3.txt
###############################
# déchiffrage
###############################
# Récupération de fichier dans la variable $chaine_chiffrée
$chaine_chiffree = get-content .\chaine_c3.txt
# déchifrage de la variable
$chaine_originale = ConvertTo-SecureString -securekey $cle -string $chaine_chiffree
# Utilisation d'une méthiode du Framework pour afficher la chaîne
$ptr = [system.Runtime.InteropServices.Marshal]::«»SecureStringToBSTR($chaine_originale)
$chaine_normale = [System.Runtime.InteropServices.Marshal]::«»PtrToStringUni($ptr)
write-host $chaine_normale
}
[/code:1]
@+
Swing
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.044 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] chiffrer / déchiffrer une chaîne avec clé