Wolfram言語

システムレベルの機能

クラウド上で宝探しの地図を暗号化し保管する

任意のWolfram言語式を暗号化することができる.

Blowfishのメソッドを使った秘密のパスワードから強力な対称鍵を生成する.

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

生成された鍵を使って,宝の在り処を暗号化してGeoMarkerに保管し,GeoGraphicsを使って可視化する.

完全なWolfram言語入力を表示する
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]=

局所鍵を使ってデータが安全に暗号化されたので,地図をWolfram Cloudにアップロードする.

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

追跡されないように,もとの地図と鍵をClearを使って削除する.

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

この鍵はパスワードを使って作られたものなので,もとの入力を使って新たな鍵を作成することが可能である.

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

この新しい鍵を使って,クラウドに配備された地図を参照することができる.

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

宝の在り処を抽出する.

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

車を運転する道順を尋ねる.

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

海の上を運転して宝に行き着くことはできないので,GeoDistanceを使って距離を調べる.

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

この距離をもとに,宝に最も近い空港を見付ける.

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

その空港から宝までの距離.

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

関連する例

de en es fr ko pt-br ru zh