[WSH]ctrl-z sturen naar stdout

Pagina: 1
Acties:

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 30-11 08:58

wizzkizz

smile...tomorrow will be worse

Topicstarter
Ik ben al een tijdje bezig met script om relatief eenvoudig bestanden zwaar te versleutelen. Als 'versleutelingsenginge' gebruik ik GnuPG.
Omdat je zelf waarschijnlijk ook wel weet dat het onthouden van veel veilige wachtwoorden een crime is, maak ik hiervoor gebruik van een bestand waarin alle wachtwoorden opgeslagen zijn. Dit geeft mij de mogelijkheid om voor de bestanden die ik wil versleutelen eenvoudig een wachtwoordstring van 100 (pseudo-)random tekens te hanteren. Het bestand waar deze wachtwoorden in staan is op zijn beurt weer versleuteld middels een enorm grote wachtwoordstring die opgeslagen is op een usb-stick. Zonder die USB-stick is het dus niet mogelijk om de bestanden die ik versleuteld heb te ontsleutelen.

Als ik het wachtwoordbestand onsleutel, maak ik gebruik van de mogelijkheid van GPG om de inhoud van het bestand naar de stdout te schrijven, zodat het niet tussentijds op schijf opgeslagen hoeft te worden (omdat dat natuurlijk een potentieel gevaar is). GPG heeft ook de mogelijkheid om vanaf de stdin tekst te versleutelen. Nu wil ik dat gebruiken om het wachtwoordbestand weer weg te schrijven, maar dat lukt maar niet. Ik kan wel de tekst naar stdout schrijven, maar het einde-karakter wil maar niet. Dit is op het toetsenbord ctrl-z en in VBScript chr(26). Maar op het moment dat ik dat weg schrijf, komt er een ander teken in de stdout te staan, waardoor de stream naar GPG niet afgesloten wordt en ik uiteindelijk met een leeg bestand zit. Op dit moment gebruik ik als work-around het wegschrijven naar een tekstfile, dit bestand versleutelen en daarna veilig verwijderen met sdelete, maar toch zint het me niet.

Is er iemand die weet hoe ik wel het einde-karakter naar de stdout kan schrijven, zodat ik van die work-around af kan komen?

En meer in het algemeen zou ik feedback op mijn methode ook op prijs stellen.

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

Het eerste wat in mij opkomt is dat je wellicht de escape codes die ook bij sendkeys worden gebruikt kunt gebruiken. Tis een gokje, maar wie weet :? ctrl-z wordt dan dus
code:
1
^z

kaart != map && bottel != fles
Wacht op antwoord


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Het einde karakter is volgens mij geen ctrl+z; maar ctrl+k; heb je dat al geprobeerd? Hoe kom je erbij dat het ctrl+z zou zijn?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 30-11 08:58

wizzkizz

smile...tomorrow will be worse

Topicstarter
j_du_pee schreef op zondag 11 februari 2007 @ 13:43:
Het eerste wat in mij opkomt is dat je wellicht de escape codes die ook bij sendkeys worden gebruikt kunt gebruiken. Tis een gokje, maar wie weet :? ctrl-z wordt dan dus
code:
1
^z
Heb ik idd ook al geprobeerd, maar werkt ook niet. Ik heb het ook geprobeerd met SendKeys zelf, maar ook dat gaf geen soelaas (zowel ^Z, ^z als chr(26) heb ik geprobeerd).
Spider.007 schreef op zondag 11 februari 2007 @ 14:46:
Het einde karakter is volgens mij geen ctrl+z; maar ctrl+k; heb je dat al geprobeerd? Hoe kom je erbij dat het ctrl+z zou zijn?
Als ik het handmatig doe, dan werkt het met ctrl-z wel goed. Zie ook http://en.wikipedia.org/wiki/Control-Z.
Maar ik ga ctrl-k ook even proberen.
Voor alle duidelijkheid: de machine waar ik het op maak draait windows xp.

[EDIT]
ctrl-k werkt niet.

[ Voor 4% gewijzigd door wizzkizz op 11-02-2007 14:56 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.