Page 1 sur 1

[R] Decrypter un array

Posté : mar. 03 juin 2008 12:57
par lutin44
Bonjour à tous,
jusqu'ici mes petits scripts fonctionnent très bien, mais là je pense que je vais avoir besoin de vos conseils une nouvelle fois.

Dans mon boulot ( je fais de la hotline interne ) je suis amené TRES régulièrement a réinitialiser des mot de passe, donc j'ai décidé de créer une appli de gestion de mdp.Jusqu'ici tout va bien,
mais là où ça se complique c'est que dans mon script l'utilsateur créé lui-même des nouveaux mot de passe qui sont cryptés et écris dans un fichier ini, et le probleme c'est qu'ensuite je les lit ( par IniReadSectionNames )les affichent dans un combobox, et là ça se corse car à l'affichage dans la combo les noms de sections apparaissent tels que dans le fichier ini c'est à dire encryptées et je n'arrive pas à les décryptées.

Donc ma question est la suivante est-il possible de décrypter un array avec toutes les données qu'il contient pou ensuite les afficher dans un combobox

Merci d'avance
de vos réponses

Re: [..] Decrypter un array

Posté : mar. 03 juin 2008 13:20
par ani
bonjour lutin :)
quel fonction avez vous utilisé ?

dans le cas ou c'est _StringEncrypt(mode,texte,mot2passe,niveau)

mode = 1 pour crypté, pour décrypté indiqué 0

Re: [..] Decrypter un array

Posté : mar. 03 juin 2008 20:24
par lutin44
Bonjour ani,
en fait a partir d'une GUI l'utilisateur saisit dans 3 GUICtrlCreateInput different :
1- nom d'appli
2- login
3- mot de passe

ensuite chacune leur tour les données sont encryptée avec _StringEncrypt pour formés une section dans le fichier ini sous ce format:

[nom d'appli]
login=mot de passe


ensuite plus il en rajoute plus il y en a bien sur.

Enfin moi apres dans mon script je lis avec IniReadSectionNames et le résultat est affiché dans un GUICtrlCreateCombo par GUICtrlSetData ce dernier ayant comme valeur le résultat du IniReadSectionNames mais toujours encrypté, donc ma question est de savoir si l'array issu du IniReadSectionNames peut etre décrypté pour ensuite etre affiche en clair dans le GUICtrlCreateCombo

J'espère m'être correctement expliqué.

Re: [..] Decrypter un array

Posté : mer. 11 juin 2008 11:01
par lutin44
Bonjour,
Alors personne n'a d'idée, dois-je en déduire que c'est impossible à faire?

Re: [..] Decrypter un array

Posté : mer. 11 juin 2008 19:11
par Tlem
On peut simplifier (Cela dépend comment vous devez utiliser les informations), mais cela vous donnera une idée :
#include<array.au3>

$Myfile = "C:\monFichier.ini"
$s_EncryptPassword = "Clé de cryptage"

$Array = IniReadSectionNames($Myfile)
Dim $Log_Pwd[$Array[0]]

For $i = 1 to $Array[0]
$Log_Pwd[$i] = $Array[$i] & "|" & _StringEncrypt(0, IniRead($Myfile, $Array[$i], "login", ""), $s_EncryptPassword)
Next

_ArrayDisplay($Log_Pwd, "Login et mot de passe")

Re: [..] Decrypter un array

Posté : jeu. 12 juin 2008 09:59
par lutin44
Bonjour Tlem,
Tout d'abord merci pour cette réponse rapide, j'ai tenté avec ce que vous m'aviez envoyé mais je suis confronté au message d'erreur :
test.au3 (109) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
voici mon script (allégé de certaines fonctions inutiles à ce stade)
► Afficher le texte
On retrouve dans la partie creation de la fenetre principale de l'appli un bout de script de ma conception ,et l'adaptation du votre

et voici le contenu de mon fichier ini (crypté):

Code : Tout sélectionner

[b][FBD739F4C925]
FBD739F4C925=FBD739F4C925

[F288DDB9712321A721426B482C47D885227E446DBCE603842417CDA6F99CFDB775D1EB5E0B4D816A3C70682BE530B6E7]
F9A63984C857D99B4156D759=F288DDB9712321A521426B482C46D885227E446DBCE604FD2417CDA5F9E083B675D1EB5D0B4D816A3C70682BE530B6E0
[F9A038F0C925DA974020D75F9C673D63B865FB770272]
FBD73984C852DA974026D75B9C143A12=FCA339F1C926D99C4026D65E9C60
[/b]
Et là franchement je séche, la syntaxe me semble bonne portant

Re: [..] Decrypter un array

Posté : jeu. 12 juin 2008 15:12
par Tlem
D'après les nouveaux éléments que vous donnez, cela devrait donner ceci :

Code : Tout sélectionner

#include<array.au3>
#Include <String.au3>

$Myfile = "Fic.ini"
$s_EncryptPassword = "Clé de cryptage"

$Array = IniReadSectionNames($Myfile)
Dim $Log_Pwd[$Array[0]+1]

For $i = 1 to UBound($Array)-1
    $aParam = IniReadSection ( $Myfile, $Array[$i] )
    $DecryptedLogin = _StringEncrypt(0, $aParam[1][0], $s_EncryptPassword)
    $DecryptedPaswd = _StringEncrypt(0, $aParam[1][1], $s_EncryptPassword)
    $Log_Pwd[$i] = $DecryptedLogin & "#" & $DecryptedPaswd
Next

_ArrayDisplay($Log_Pwd, "Login et mot de passe")

Re: [..] Decrypter un array

Posté : jeu. 19 juin 2008 09:46
par lutin44
Tlem,
encore une fois vous m'avez été d'un grand secours, j'ai adapté un peu à mon besoin votre example et ca marche super bien

Merci et a une prochaine.

Fred