Nach den besten Sicherheitspraktiken , halte ich eine einfache Textdatei mit meinen Passwörtern auf meiner Festplatte. Tatsächlich habe ich gerade einen von ihnen kopiert und eingefügt, um auf mein PPCG-Konto zuzugreifen.
In einem klaren Moment entscheide ich, dass das Passwort nach seiner Verwendung besser nicht in der Zwischenablage verbleiben soll. Da mir das oft passiert, könnte ich ein Programm verwenden, um den Inhalt der Zwischenablage zu entfernen.
Herausforderung
Schreiben Sie mit einer Programmiersprache Ihrer Wahl ein Programm oder eine Funktion , die in der Zwischenablage enthaltenen Text löscht oder überschreibt .
Zusätzliche Details:
Wenn Ihr System über mehrere Zwischenablagen verfügt, können Sie das Programm für eine beliebige Zwischenablage schreiben. Die einzige Voraussetzung ist, dass der Benutzer Text mithilfe dieser Zwischenablage kopieren und einfügen kann.
Wenn Ihre Zwischenablage einen Verlauf der zuletzt kopierten Einträge enthält, nehmen Sie den neuesten Eintrag an.
Wenn Ihre Antwort für ein Betriebssystem oder eine Zwischenablage spezifisch ist, geben Sie sie im Titel Ihres Beitrags zusammen mit der verwendeten Sprache an.
Die Zwischenablage enthält garantiert Text, wenn Ihr Programm ausgeführt wird. Sie können den Inhalt entweder aus der Zwischenablage löschen oder mit etwas anderem (nicht unbedingt Text) überschreiben. Die einzige Voraussetzung ist, dass nach dem Ausführen des Programms beim Einfügen aus der Zwischenablage nicht der ursprüngliche Text erzeugt wird.
Wenn Sie sich für das Überschreiben mit festem oder zufällig ausgewähltem Text entscheiden, können Sie davon ausgehen, dass sich der Inhalt der vorherigen Zwischenablage von diesem Text unterscheidet, sodass das Kennwort effektiv entfernt wird. Mit anderen Worten, ignorieren Sie die Möglichkeit, dass der Fülltext mit dem Kennwort übereinstimmt.
Das Programm sollte keine Nebenwirkungen wie Neustarten des Systems, Schließen von Programmen, Herunterfahren des Computers oder Einfrieren des Computers haben. Nach dem Ausführen Ihres Programms sollte der Benutzer den Computer wie gewohnt verwenden können, nur wenn das Kennwort aus der Zwischenablage entfernt wurde. Auch Standardlücken sind verboten.
Kürzester Code in Bytes gewinnt.
Antworten:
Excel, 1 Tastendruck
Funktioniert, weil Excel immer eine Auswahl hat. Funktioniert wahrscheinlich auch in anderen Tabellenkalkulationsprogrammen. Im Gegensatz zu den anderen Scherzeinträgen sind Excel-Antworten bei PPCG tatsächlich ziemlich häufig.
quelle
PowerShell, 3 Byte
Das ist ein Standardalias für
Set-Clipboard
. Wenn ein Aufruf ohne Pipe und ohne Argumente ausgeführt wird, wird der aktuelle Inhalt der Zwischenablage weggeblasen.quelle
Vim, 3 Bytes
Setzt den Inhalt der Zwischenablage auf eine neue Zeile.
Standardmäßig öffnet vim beim Start einen leeren Puffer. Jetzt
Y
fragt (kopiert) das Programm die gesamte Zeile (einschließlich einer neuen Zeile) und speichert sie in Ihrer Zwischenablage, indem es den Text in das Register zieht"*
. Das*
kann+
für die andere Zwischenablage in a geändert werden .quelle
Javascript (Chrome DevTools Console), 6 Byte
Beachten Sie, dass dies eine Funktion der Konsole ist (die auch in der FF-Konsole funktioniert) und nicht zum Sprachstandard gehört.
quelle
[\n ""\n]
)[\n ""\n ]
Document.execCommand("copy")
oder ist das eine interne Zwischenablage für den Browser? Ich benutze das in einigen Manipulationsskripten, aber zu faul, um es zu überprüfenAppleScript, 20 Byte
Setzt die Zwischenablage auf ... nichts.
Ich habe eine Menge Bytes gespart, indem ich den Code entfernt habe, um mir den Inhalt der Zwischenablage zu senden;)
quelle
Batch (Windows 7 und höher), 7 Bytes
Hinweis: Es wird eine Fehlermeldung wie "FC: ..." angezeigt, aber es funktioniert.
"clip" ist ein Befehl zum Kopieren der Ausgabe eines anderen Programms in die Zwischenablage (verfügbar seit Windows 7)
"fc" ist ein Befehl zum Vergleichen von zwei oder mehr Dateien. In diesem Fall geben wir keine Datei ein. es wird ein Fehler auftreten, dann setzt "clip" die Zwischenablage auf eine leere Zeichenkette.
vorausgesetzt, Sie haben eine Datei "a" in Ihrem aktuellen Verzeichnis (sie kann leer sein), können Sie eine bessere machen:
Bearbeiten: Siehe @ Matthew Steeples Kommentar für die kürzere Version (aber in Powershell kein Batch)
quelle
sc
anstelle von verwendenfc
, um die Fehlermeldung zu vermeiden. Dannsc
würde der Hilfetext in der Zwischenablage festgelegt. Außerdem +1, um mir davon zu erzählenclip
.cd
. :-)x|clip
?h
ist ein Alias (Standard) fürget-history
, so können Sie dies tunh|clip
Bash auf MacOS, 8 Bytes
:
könnte durch fast jedes andere einzelne Zeichen ersetzt werden.quelle
:|pbcopy
funktioniert sowohl in bash als auch in zsh.C (unter Windows):
65 bis62 ByteBearbeiten: 3 Bytes dank @Orion gespeichert.
quelle
0
anstelle von verwendenNULL
?AHK , 10 Bytes
(Windows)
Löscht den Textinhalt der Zwischenablage. Wenn
clipboardAll
verwendet, wird alles gelöscht.Aus den Dokumenten -
quelle
Java 8,
127125 BytesGolf gespielt:
Ungolfed:
quelle
SmileBASIC 3, 10 Bytes
Schließlich praktisch eine Herausforderung gemacht für SmileBASIC 3!
CLIPBOARD
ist ein integriertes Element, das die Text-Zwischenablage der Umgebung auf die angegebene Zeichenfolge festlegt. Hier geben wir eine leere Zeichenfolge (Schließen"
ist nicht erforderlich!)quelle
'
!Excel VBA,
98 BytesÜberschreibt die Zwischenablage mit dem Inhalt der
A1
Zelle im aktiven Arbeitsblatt (standardmäßig leer, kann aber eine beliebige Zeichenfolge / ein beliebiger Ausdruck Ihrer Wahl sein - stellen Sie nur sicher, dass es nicht Ihr Passwort ist!).Verwendet das Direktfenster.
Ein Byte gespart dank Slai
quelle
[a1].Cut
Python
564840 Bytes (Funktioniert nur unter Linux) .8 Bytes gespart dank @wheatwizard.
quelle
system
vonos
dir zu importierenimport os as o
undo.system
stattdessen anzurufen . Sie brauchen auch keine Leerzeichen um Ihre Pipe im bash-Befehl.as o
Teil ... (import os \n os.system("echo |xclip"
)echo
mit:
für":|xclip"
__import__('os').system("echo|xclip")
xclip
aufgerufenenxsel
Linux-Systemen, die Ihnen ein weiteres Byte erspart - und, wie bereits erwähnt, den "as o" -Importteil wieder entfernt, was die Sache nur länger macht:import os;os.system(":|xsel")
(29 Byte).Google Chrome Language, 2 Tastenanschläge
Basierend auf dieser Notepad ++ Antwort.
Google Chrome unterstützt Javascript (das wiederum RegExp unterstützt), daher behaupte ich, es sei eine Obermenge von Javascript und eine eigene Sprache.
Wie es funktioniert:
Ctrl+S
Ruft den Dialog "Seite speichern" mit dem vorgewählten Text "Neuer Tab" auf,Ctrl+C
kopiert ihn in die Zwischenablage und ersetzt den vorherigen Inhalt.Randnotiz:
quelle
Bash + Xsel
87 BytesErläuterung
-b
: Funktioniert mit der Auswahl der Zwischenablage-c
: hebt die Auswahl aufquelle
b
.Mathematica, 17 Bytes
Setzt die Zwischenablage auf die Nummer 0.
quelle
R (Windows) 18
quelle
readLines(file("clipboard", "r"))
könnte funktionieren. Versuchen Sie, in den R-Hilfedokumenten unter "Funktionen zum Bearbeiten von Verbindungen" nachzuschlagen.Matlab,
1913 BytesStellen Sie den Inhalt der Zwischenablage auf eine leere Zahl ein.
quelle
axes;print -dmeta;close
aber auch funktioniert ...close
kann wohl entfernt werden. Durch "Nebenwirkungen" dachte ich daran, dass Dinge verschwinden und nicht auftauchen. Auchprint(gcf,'-dm')
funktioniert-dm
ist-dmeta
, und dachte, das Programm sollte "lautlos" funktionieren, ohne ein Fenster zu öffnen :)Bash,
111087 Bytes2 Bytes gespart dank @seshoumara für die Verwendung
ls
anstelle vonecho
Dank Hexafraktion, isaacg und Riker für den Vorschlag mehrerer 7-Bytes
Die Zwischenablage wird auf das Ergebnis von gesetzt
w
. Dies funktioniert nur auf X11-basierten Systemen. Unter macOS kann auf diese Zwischenablage beispielsweise mit einer X-basierten Anwendung wie XQuartz zugegriffen werden.Alte Antwort nur für macOS (
119 Bytes):Dadurch wird der Inhalt der Zwischenablage auf eine neue Zeile gesetzt.
quelle
ls|xclip
?ls /usr/bin | grep "^.\{1,3\}$"
nach einem kürzeren Befehl suchen würde: P)w|xclip
für einen weniger. Gibt eine Liste der angemeldeten Benutzer in die Zwischenablage zurück.:|xclip
. Löscht tatsächlich die Zwischenablage.xclip
ohne Pipes möglich.Apfelskript, 23 Bytes
quelle
Python + Tkinter, 43 Bytes
Python 3:
Python 2:
quelle
python-tk
) vom "Kern-Python" verpackt .__import__("tkinter")....
, ist dies in diesem Fall 1 Byte länger.C #, 30 Bytes
Vielen Dank an Nat , JMD und BgrWorker für ihre Vorschläge!
C # ohne WPF, 36 Bytes
Eingebaute Funktion, die die Zwischenablage leert.
Volles Programm mit Testfall:
quelle
Clipboard.Clear()
schon eine Funktion, so kann das Lambda fallengelassen werden.System.Windows.Clipboard.Clear();
Lprun ist jedoch möglicherweise eine einfachere Methode, um diese Antwort auszuführen als VS oder sogar VS-Code..Forms
, wurde es unter Linux nicht kompiliert und ich habe im Moment keinen Windows-Computer.Haskell, 34 Bytes
Nur eine langweilige Bibliotheksfunktion. Es gibt auch
clearClipboard
für die gleiche Byteanzahl.quelle
Notepad ++, 3 Tastenanschläge
Fügt den Buchstaben a ein, wählt ihn aus und kopiert ihn auf die Tastatur.
Notepad ++ ist eine gültige Sprache, es unterstützt reguläre Ausdrücke und ist daher eine Obermenge von regulären Ausdrücken, und wir betrachten reguläre Ausdrücke als gültige Sprache.
quelle
consider regex to be a valid language
Verweise ? Anscheinend ist RegExp von sich aus nicht vollständig.It doesn't have to be Turing Complete to be a valid language
Durch diese Maßnahme können wir fast alles als "Sprache" bezeichnen. Das heißt, XML oder HTML haben auch eine Syntax (und nennen sich im Gegensatz zu RegExp sogar Sprachen), aber ich denke nicht, dass sie akzeptabel sind. Können Sie ein Beispiel für eine Pure-Regexp-Antwort geben, die von der Community positiv bewertet wurde? Darüber hinaus glaube ich, dass Notepad ++ RegExp nicht wirklich in dem Sinne "unterstützt", dass es es programmgesteuert aufrufen kann, und das Öffnen des Felds "Suchen und Ersetzen" der Benutzeroberfläche, um dort ein RegExp einzugeben, ist in keiner Weise ein "Programmcode".<c-H>
und mithilfe<tab>
von durch die Benutzeroberfläche navigieren und mit allen relevanten Feldern interagieren können. Beachten Sie auch, dass reguläre Ausdrücke die Primalität von Zahlen bestimmen und Zahlen hinzufügen können. (Beide in unary, was die standardmäßige numerische Darstellung für Regex ist)Python 33 Bytes (funktioniert nur unter Windows) .
4 Bytes aus der @hubacub-Version gespeichert.
3 Bytes, die mit der @ Divcy-Lösung zu Windows wechseln
Ich bin gerade bei stackexchange registriert, daher habe ich nicht den Ruf, nur @hubacub submition zu kommentieren. Es ist nicht erforderlich, beim Import 5 Byte mit "as o" zu belegen, um 1 Byte zu speichern und "os.system" auf "o.system" zu reduzieren.
quelle
J (Windows), 12 Bytes
wd
ist Js Standardbibliothek für Windows.wd 'clipcopy password'
würde den Textpassword
in die Zwischenablage legen . Wenn Sie nichts angeben, wird die Zwischenablage gelöscht.Wenn Sie möchten, dass ein Programm Ihr Klartext-Passwort in die Zwischenablage legt, können Sie Folgendes verwenden:
quelle
'clipcopy 'wd@,]
wd
und entfernen'clipcopy'
.JavaScript
17514813913569 BytesGolf gespielt:
Geige
Ungolfed
Habe Hilfe von SitePoint
HTML:
JS:
quelle
Java 8 (JavaFX), 61 Byte
()->javafx.scene.input.Clipboard.getSystemClipboard().clear()
Die JavaFX-API zum Bearbeiten der Zwischenablage ist etwas knapper als die von AWT.
quelle
Tcl / Tk-Wish-Shell (REPL), 5 Byte
Wish Shell (REPL) erlaubt die unvollständigen Befehle, solange es keine Mehrdeutigkeit gibt, wäre der vollständige Befehl:
quelle
PHP + PHP GTK 2.0 , 24 Bytes
Dies setzt voraus, dass Sie bereits die PHP GTK-Erweiterung geladen haben.
Referenz zur Dokumentation: http://gtk.php.net/manual/en/html/gtk/gtk.gtkclipboard.method.clear.html
quelle
<?
Tag nicht, da Sie den Code ohne das<?
Tag in der Befehlszeile mit dem-r
Schalter ausführen können . Weitere Informationen finden Sie hier: meta.codegolf.stackexchange.com/questions/7098/…