Wolfram Language

Systemnahe Funktionalität

Eine Schatzkarte in der Cloud verschlüsseln und speichern

Jeder Ausdruck der Wolfram Language kann verschlüsselt werden.

Erzeugen Sie mithilfe der Blowfish-Methode einen starken symmetrischen Schlüssel, der von einem geheimen Passwort abgeleitet wurde.

In[1]:=
Click for copyable input
skeletonKey = GenerateSymmetricKey["Avast ye!", Method -> "Blowfish"]
Out[1]=

Verschlüsseln Sie mit dem erzeugten Schlüssel die Position des Schatzes, der in einem GeoMarker gespeichert und mit GeoGraphics visualisiert wurde.

Den kompletten Wolfram Language-Input zeigen
In[2]:=
Click for copyable input
treasureMap = GeoGraphics[{GeoMarker[GeoPosition[{15.9429, -86.5031}], Text[Style["x", FontFamily -> "Bradley Hand", FontSize -> 24]]]}, FrameLabel -> "Where the Gold is Buried", Frame -> True, ImageSize -> 300, GeoBackground -> "StreetMapNoLabels"]
Out[2]=
In[3]:=
Click for copyable input
hiddenTreasure = Encrypt[skeletonKey, treasureMap]
Out[3]=

Da die Daten nun mit einem lokalen Schlüssel sicher verschlüsselt sind, können Sie die Karte in die Wolfram Cloud hochladen.

In[4]:=
Click for copyable input
stowed = CloudPut[hiddenTreasure]
Out[4]=

Um die Spuren zu verwischen, verwerfen Sie die Originalkarte und den Schlüssel mit Clear.

In[5]:=
Click for copyable input
Clear[hiddenTreasure]
In[6]:=
Click for copyable input
Clear[skeletonKey]

Da der Schlüssel von einem Passwort abgeleitet wurde, können Sie einen neuen Schlüssel mit dem Original-Input erzeugen.

In[7]:=
Click for copyable input
newKey = GenerateSymmetricKey["Avast ye!", Method -> "Blowfish"]
Out[7]=

Der neue Schlüssel kann nun verwendet werden, um die Karte aus der Cloud abzurufen.

In[8]:=
Click for copyable input
reclaimedMap = Decrypt[newKey, CloudGet[stowed]]
Out[8]=

Extrahieren Sie die Position des Schatzes.

In[9]:=
Click for copyable input
treasureLocation = reclaimedMap[[3, 2]]
Out[9]=

Ermitteln Sie die Fahrtroute.

In[10]:=
Click for copyable input
TravelDirections[{$GeoLocation, treasureLocation}]
Out[10]=

Da es keine Autoroute zum Schatz gibt, berechnen Sie die Distanz mit GeoDistance.

In[11]:=
Click for copyable input
GeoDistance[$GeoLocation, treasureLocation]
Out[11]=

Erurieren Sie angesichts der Entfernung den am nähesten zum Schatz gelegenen Flughafen.

In[12]:=
Click for copyable input
airport = First[GeoNearest["Airport", treasureLocation]]
Out[12]=

Die Entfernung vom Flughafen zum Schatz.

In[13]:=
Click for copyable input
GeoDistance[airport, treasureLocation]
Out[13]=

Verwandte Beispiele

en es fr ja ko pt-br ru zh