[R] Stocker et rapeller le résultat d'une variable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

[R] Stocker et rapeller le résultat d'une variable

#1

Message par hardfloor »

Bonjour à tous,
Voilà j'aimerais savoir si il était possible de stocker le résultat d'une variable en mémoire et de le rapeller depuis un autre fichier!

Code : Tout sélectionner

$Test = TestRandom(3)

Func TestRandom($Long)
Local $lPos , $i, $p, $RndStr
Const $Str = "123456789"
For $i = 1 To $Long
$lPos = Int(Random(1, StringLen($Str)))
$p = StringMid($Str, $lPos + 1, 1)
$RndStr = $RndStr & $p
Next
Return $RndStr

EndFunc
 
Voilà donc comme vous pouvez le voir cette fonction me génère aléatoirement une chaine et donc j'aimerais la mettre en memoire et la rapeller depuis un autre fichier pour pouvoir la réutiliser.

Si un pro peut m'aider je lui en serais reconnaissant. J'ai vu qu'il était possible d'utiliser memory.au3 mais je ne sias pas comment m'y prendre ou si vous avez plus simple pour rapeller le resultat $Test je suis toute ouie . :D

Merci à ceux qui prendront le temps de me répondre
Modifié en dernier par hardfloor le jeu. 01 août 2013 12:31, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#2

Message par jchd »

Stocker dans un fichier, dans le registre, dans une variable d'environnement.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#3

Message par DimVar »

jchd a écrit :Stocker dans un fichier, dans le registre, dans une variable d'environnement.
Bonjour,

Fichier = Fileopen / Filewrite / Fileclose
Registre = Regwrite / Regread

Cdlt.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#4

Message par mikell »

Si le mode de ré-utilisation l'accepte et si l'archivage de la chaine n'est pas nécessaire, un simple passage par le presse-papiers peut suffire avec ClipPut() et ClipGet()
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#5

Message par hardfloor »

Okkkk........
bon je crois que la methode du presse papier peut me convenir

donc dans mon fichier de fonction je déclare la variable comme ceci

Code : Tout sélectionner

Global $Test = TestRandom(3)
ClipPut($Test)

Func TestRandom($Long)
Local $lPos , $i, $p, $RndStr
Const $Str = "123456789"
For $i = 1 To $Long
$lPos = Int(Random(1, StringLen($Str)))
$p = StringMid($Str, $lPos + 1, 1)
$RndStr = $RndStr & $p
Next
Return $RndStr

EndFunc
 
Et après je peux donc dispatcher cette chaine dans le ou les fichiers de mon choix et en la rapellant avec ClipGet

Code : Tout sélectionner

$Test = ClipGet()
MsgBox(0, "Je teste le copier/coller de la chaine:", $Test)
 
Est ce que j'ai bon ou pas?? :?:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#6

Message par mikell »

Globalement oui
Après bien sûr ça dépend de ce que tu appelles "dispatcher cette chaine dans le ou les fichiers de mon choix" et du "récepteur"
Avec un autre script autoit aucun problème (ça correspond à ce que tu as écrit), pour une application externe faut voir si elle peut le gérer
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Manox
Niveau 3
Niveau 3
Messages : 43
Enregistré le : mar. 18 déc. 2012 10:56
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#7

Message par Manox »

Question bête, mais pourquoi tu inclus pas ton fichier via un #include dans ton fichier principal pour ensuite appeler directement ta fonction ?
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#8

Message par hardfloor »

Hello Manox,

Alors je t'explique mon petit projet.

Cette fonction me genere une code aléatoire.
Le but la manoeuvre c'est d'utiliser la chaine générée 2 fois.
Il faut que cette chaine soit strictement identique, sinon le programme quitte.
donc étant donnée qu' a chaque lancement du programme il genere une chaine, je dois pourvoir l'utiliser 2 fois et l'apeler sur 2 pages de script diffentes.

J'ai bien essayer Include "Mapage" dans les 2 autres pages , mais le programme plante cxar j'ai 2 chaines differrentes. Hé oui le code est activé 2 fois et je n'ai pas trouvé la solution.

Là je viens d'essayer avec les registres!
J'arrive bien a ecrire dans un registre donné et à le lire sur l'autre page, mais ca plante encore, donc je le lis bien mais je ne sais pas l'importer dans mon code je pense! Lire ne doit pas être suffisant............

:( :(
Manox
Niveau 3
Niveau 3
Messages : 43
Enregistré le : mar. 18 déc. 2012 10:56
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#9

Message par Manox »

Ok, c'est un peu plus clair ! :)

Comment sont lancés les deux autres scripts ?

Si ils sont lancés depuis la même page (Appelons-la "principale") il suffit de faire l'include sur la page principale lancé la fonction depuis celle-ci, récupérer la valeur du retour dans une variable globale, comme ceci les deux autres scripts auront accès à cette variable.
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#10

Message par hardfloor »

re,
Alors voici mon schéma actuel:

Page1 => Juste ma fonction de random
Page2 => 1er script qui a besoin de la valeur du random
Page3 => 2ièeme script qui a besoin de al valeur du random

Et donc mon premier essai avait été de mettre un Include dans la page 2 et 3.
Je pense que c'est au niveau des variables que j'ai du me planter car en faisant un petit regwrite dans la page 2 et 3 'pour controler mes chaines) evdemment elles sont différentes
Alors si tu as un exemple à me montrer je suis preneur

Voilà donc le code de la page 1

Code : Tout sélectionner

 Global $Test = TestRandom(3)

Func TestRandom($Long)
Local $lPos , $i, $p, $RndStr
Const $Str = "123456789"
For $i = 1 To $Long
$lPos = Int(Random(1, StringLen($Str)))
$p = StringMid($Str, $lPos + 1, 1)
$RndStr = $RndStr & $p
Next
Return $RndStr

EndFunc
 
Alors en fait la page 1 est mon programme principal et la pge 2 est pour compiler un Stub donc 2 scripts différents, mais ma page 1 compilée donnera un exe qui aura besoin du stub.exe pour fonctionner.

Le but de cette opération est queje veux réaliser un petit crypter maison et que j'avais envie de générer une chaine random pour l'integrer à ma fonction de cryptage^^

La fonction de cryptage doit être identique dans les 2 exe sinon le fichier crypté plante.Voilà pourquoi j'ai mis ma fonction random à part pour que je puisse l' Include.
Si je n'avais pas voulu me prendre la tête j'aurais balancé une chaine "fixe" dans les 2 pages et basta, mais j'aime bien les défis! (Et vu que je suis pas un pro, c'est un défi pour moi :) )
Je sais je suis tordu......... :D Mais j'aime bien les choses complexes^^
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#11

Message par mikell »

hardfloor a écrit :La fonction de cryptage doit être identique dans les 2 exe
ça va pas le faire du tout :mrgreen:
Si tu mets la même fonction dans les 2 exe mais qu'elle contient un Random, tu auras 2 résultats différents
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#12

Message par hardfloor »

Hé oui mikel,
C'est la raison pour laquelle j'ai essayé avec les registres et le presse papiers mais sans succés!
Ce la doit pourtant pouvoir se faire

si tu veux la variable $Test se retrouvera dans la fonction de cryptage qui sera identique dans les 2 exe, d'où la nécessité d'importer la valeur de $test dans les 2 fichiers.

C'est pour ca que j'avais abandonner Include. J'avais mis ma fonction random dans le premier programme avec une ecriture registre et je pensais que je pouvais lire et importer via stub........ là j'ai foiré aussi! A mon avi je nesais pas importer une clé via le registre! Je sais la lire mais c'est tout!
Si tu as une idée pour me débloquer, c'est cool :mrgreen:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#13

Message par mikell »

Bah c'est pas difficile dans la mesure où tu n'utilises ton Random qu'une seule fois
script 1 : Random => tu crées la variable => tu la stockes
script 2 : lecture de la variable stockée, et si ce que rentre l'utilisateur est ègal à ça alors ok
Tu peux introduire un 2ème cryptage supplémentaire si tu veux (le même dans les 2 scripts) mais SANS Random :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#14

Message par hardfloor »

Oui mais justement tu la stocke de quelle manière..............
Avec regWrite??
Moi j'avais fais comme ca.....

Code : Tout sélectionner

Global $Test = TestRandom(3)
$Crypt = _MD5("une chainefixe", $Test)

Func TestRandom($Long)
Local $lPos , $i, $p, $RndStr
Const $Str = "123456789"
For $i = 1 To $Long
$lPos = Int(Random(1, StringLen($Str)))
$p = StringMid($Str, $lPos + 1, 1)
$RndStr = $RndStr & $p
Next
Return $RndStr

EndFunc
 
 
Donc tel qu'elle est, est ce que la valeur $Test est correctement déclarée et stockée?? Je ne suis pas sûr..........

Et dans mon script n°2:
Je retrouve aussi

Code : Tout sélectionner

$Crypt = _MD5("une chainefixe", $Test)
 
Et comment je déclare $Test dans le script n°2 et surtout comment importer la valeur $Test

ps: Le md5 c'est juste pour exemple hein....... :D :D
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Stocker et rapeller le résultat d'une variable

#15

Message par mikell »

Attention, ce qui suit n'est PAS du vrai code, c'est juste pour montrer un mécanisme possible

Code : Tout sélectionner

;; script 1
$var = "chaine"
$var_crypt = _Crypt($var)
RegWrite(.....clé, $var_crypt )   ; archivage de la chaine cryptée

;; script 2
$varcrypt2 = RegRead(.....clé )   ; lecture de la chaine cryptée
$entrée_user = ...                  ; entré par l'utilisateur
$entrée_user_crypt = _Crypt($entrée_user)   ;  cryptage entrée user (même cryptage que dans le script 1 )
If $entrée_user_crypt = $varcrypt2 Then OK    ; test
Mais AMHA mettre du Random dans un mot de passe c'est plus de la sécurisation c'est du loto ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] Stocker et rapeller le résultat d'une variable

#16

Message par hardfloor »

Héhé, je sais que c'est tordu........... Mais j'aime bien explorer plein de possibilités^^

Bon en tout cas j'essaie ton mecanisme demain. Et merci d'avoir pris le temps de m'expliquer.

ps: En regardant ton code, je me suis dit........"Mais bon dieuc'est bien sur.... :D " Il ne reste plus qu'à placer un regdelete à la fin de l'execution , histoire de cleaner tout ca.........)

Merci à toi, bonne soirée
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Stocker et rapeller le résultat d'une variable

#17

Message par mikell »

Hé je voulais pas dire tordu, je voulais dire inutilisable ^^
Imagine que ta boite mail te demande un mot de passe aléatoire chaque fois que tu veux la consulter... je plains celui qui t'a écrit et qui espère une réponse :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] Stocker et rapeller le résultat d'une variable

#18

Message par hardfloor »

Hello Mikell, Bon ca marche nikel je te remercie, En fait, lorsque moi j'avais essayé avec regwrite, je me suis planté dans mes declaration de variables dans le script 2. C'est pour ca que ca foirait...

Alors en ce qui concerne l'utilisation de ce random, ce n'est pas pour un quelconque mot de passe......... Je sais très bien que personne pourrait se connecter avec un random :mrgreen: ! Non , en fait, ce random va rentrer dans une chaine aes.....
Et cette chaine aes va crypter un fichier en particulier........... donc je veux réaliser un genre de cryptage unique, polymorphique si tu veux, à chaque lancement du soft!

Mouahahahha le bill gate du cryptage c'est mooooooooooi^^ :P

Ptdrrrr ah non c 'est vrai c'est pas le bill gate mais le noob..... :oops: :lol: :lol:

Ban......allez je retourne à mes cours sur Autoit.......pour Bill gate on verra après hein... :wink:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Stocker et rapeller le résultat d'une variable

#19

Message par mikell »

OK ok

Image Image

Si c'est résolu un [R] dans le titre du 1er sujet please
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre