Chiffrez et stockez une carte au trésor dans le cloud
Toute expression de Wolfram Language peut être chiffrée.
Générez une clé symétrique forte dérivée d'un mot de passe secret en utilisant la méthode de Blowfish.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_32.png)
skeletonKey = GenerateSymmetricKey["Avast ye!", Method -> "Blowfish"]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_27.png)
Chiffrez le lieu du message, stockez-le dans un GeoMarker et visualisez-le en utilisant GeoGraphics avec la clé générée.
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_28.png)
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_34.png)
hiddenTreasure = Encrypt[skeletonKey, treasureMap]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_29.png)
Maintenant que les données sont chiffrées en toute sécurité en utilisant une clé locale, téléchargez la carte dans Wolfram Cloud.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_35.png)
stowed = CloudPut[hiddenTreasure]
Pour brouiller les pistes, supprimez la carte et la clé d'origine en utilisant Clear.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_36.png)
Clear[hiddenTreasure]
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_37.png)
Clear[skeletonKey]
Étant donné que la clé a été calculée à l'aide d'un mot de passe, vous pouvez créer une nouvelle clé en utilisant l'entrée d'origine.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_38.png)
newKey = GenerateSymmetricKey["Avast ye!", Method -> "Blowfish"]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_31.png)
La nouvelle clé peut maintenant être utilisée pour faire référence à la carte dans le cloud.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_39.png)
reclaimedMap = Decrypt[newKey, CloudGet[stowed]]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_32.png)
Extrayez l'emplacement du trésor.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_40.png)
treasureLocation = reclaimedMap[[3, 2]]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_33.png)
Demandez la direction.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_41.png)
TravelDirections[{$GeoLocation, treasureLocation}]
![](assets.fr/index.fr/M_2.gif)
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_34.png)
Comme il n'y a pas d'accès en voiture pour aller au trésor, calculer la distance en utilisant GeoDistance.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_42.png)
GeoDistance[$GeoLocation, treasureLocation]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_35.png)
Compte tenu de la distance, localisez l'aéroport le plus proche du trésor.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_43.png)
airport = First[GeoNearest["Airport", treasureLocation]]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_36.png)
La distance entre l'aéroport et le trésor.
![Click for copyable input](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/In_44.png)
GeoDistance[airport, treasureLocation]
![](assets.fr/encrypt-and-store-a-treasure-map-on-the-cloud/O_37.png)