Frage

Ich habe eine Google-Tabelle und möchte den Inhalt von einigen Zellen verschlüsseln (egal ist es egal, welche Verschlüsselungsmethode verwendet wird, solange es eine äquivalente Entschlüsselungsmethode für iOS gibt).

Leider gibt es keine integrierten Verschlüsselungsfunktionen im Google Apps-Skript.

Aus diesem Grund möchte ich eine Open-Source-JavaScript-Bibliothek wie crypto-js und sjcl .

Wie kann ich eines dieser Bibliotheken mit Google Apps-Skript verwenden?

In der Skriptdokumentation von Google Apps habe ich keine Ahnung gefunden, wie Sie externe JavaScript-Bibliotheken mit meinem Google Apps-Skript verwenden.

War es hilfreich?

Lösung

Nun, ich sage das, weil dies die Methode ist, die ich mit datum js benutzt habe. Sie können Folgendes tun:

    .
  1. Laden Sie die Quelle .js-Datei (en) herunter.
  2. Öffnen Sie die .js-Datei (en) in einem Texteditor
  3. Alle Code in ein neues -Skriptprojekt kopieren / einfügen
    • Hier können Sie die ursprünglichen .js-Dateien (kopieren / einfügen einzeln kopieren / einfügen) mit den gleichen Namen
    • "neu erstellen"
  4. Fügen Sie den -Projekt-Taste dieses Skriptprojekts als -Bibliothek des Projekts ein, in dem Sie diese Funktionen verwenden möchten.
  5. Selbst wenn die Projekte Open-Source sind, möchten Sie sicherstellen, dass Sie den Lizenzen dieser Projekte einhalten, wenn Sie sie verwenden werden.

    Dies ist im Wesentlichen ein kleiner "Hack", um nicht in der Lage zu sein, .JS-Dateien nicht in Gasprojekte hochzuladen. Angenommen, dass das JS Standard ist, funktioniert diese Methode mit dem System von Google.


    Die andere Option ist, ein leichtes Ein- oder Zwei-Funktions-Crypto-Paket zu finden, oder ein einzelner Kryptoalgorithmus wie AES-128 (TAHT Sie erhalten die Erlaubnis, natürlich die Erlaubnis zu verwenden). Es hängt wirklich davon ab, wie viel Verschlüsselung Sie wünschen, wenn Sie den Chiffriertext umkehren müssen, um die einfachen Werte usw. zu erhalten.

    Wenn dies ein für ein Kennwortsystem ist, würde ich empfehlen, einen einfachen Hash zu verwenden. Zum Beispiel:

    generasacodicetagpre.

    in dem Sie nach dem Kennwort eines Benutzers fragen würden, und wenn der Passwort-HASH mit dem in der Tabellenkalkulation gespeicherten Hash übereinstimmt oder wo auch immer Sie validieren würden. Sie können mit dieser Option, um die Protokollierung in einer UIAPP-GUI zu simulieren, z. B. speichern Sie Benutzernamen / Passwort-Hashes in einer Datenbank und validieren Sie einen Benutzer, bevor Sie die "echte" App laden.


    Wie Serge erwähnt, enthalten jedoch die Tabellenkalkulation, dass die Tabellenkalkulation der Revisionsgeschichte des ursprünglichen Werts, bevor er hasht wurde, sowie der Wert danach, nachdem er hasht war. Wenn Sie dies vermeiden möchten, verwenden Sie SkriptDB.


    ps - Zusätzlich zu diesem umzusetzen werde ich sagen, dass es derzeit nicht möglich ist, eine Nicht-Gas-Codebibliothek in Ihr Skriptprojekt zu "importieren", es sei denn, Sie kopieren die Quelle manuell Datei-by-per-Datei in Ihr Skriptprojekt. Es kann bereits eine Funktionsanforderung im Ausgabe-Tracker geben, wenn nicht, wenn Sie nicht einen erstellen können, und ich werde es stern.


    edit : Wie pro Antrag habe ich Eine Open Source AES Verschlüsselung "Paket" (enthält auch Base64, was schön ist) in der Antwort, um als Referenz für andere zu fungieren, die in Gas verschlüsseln möchten. Stellen Sie sicher, dass Sie der Anforderung des Autors folgen, um sein ursprüngliches Urheberrecht und einen Link wieder in die Quelle zurückzuhalten.

    Andere als die AES, die ich verknüpft habe, und der einfache Hash (entspricht der Java-String.Hashcode ()), deren Ressource Hier , gibt es Crypto-js, wie Sie in Ihrer Frage erwähnt werden, und wenn Sie sich die Zeit angenommen haben, um vollständig zu kopieren / einfügen zu können Alle Kodex (vorausgesetzt, das stimmt mit den Bedingungen der Lizenz ein - ich habe es nicht gelesen), Sie könnten das mit den in der oberen Hälfte meiner Antwort beschriebenen Schritte verwenden.

    MD5 in JavaScript ist auch ein Algorithmus, den Sie verwenden könnten. Wenn Sie den Code in md5.js verwenden, der sich oben auf der Seite befindet, haben Sie das, was Sie brauchen. Vergewissern Sie sich erneut, dass Sie die Lizenzierungsregeln folgen, wenn Sie es verwenden.

    persönlich würde ich wahrscheinlich die hash und die base-64 -Muster verwenden, da die meisten von dem, was Sie diese Verschlüsselung verwenden würden, wahrscheinlich nicht unglaublich wichtig ist. AES kann etwas länger dauern, um zu berechnen - Sie können es wahrscheinlich selbst erkennen, um zu sehen, ob er mit größeren Problemen mit längeren Zeitraum ausläuft, aber ich bezweifle, dass es trotzdem ein Problem wäre.

    note : Base-64 ist 2-Wege, also ist AES. MD5 ist eine Art Hash, und die einfache Hashfunktion, die ich zur Verfügung gestellt habe, ist (natürlich) (natürlich) ein Hash. Hash-Funktionen sind einweg. Wenn Sie also Zwei-Wege-Funktionen (verschlüsseln / entschlüsseln) benötigen, verwenden Sie die Basis-64 oder AES. Base-64 ist im Wesentlichen die Kinderversion von AES. Und die einfache Hash-Funktion ist die Kinderversion von MD5. Halten Sie das im Sinn :)

    erneut editieren : Ich bin nicht mit iOS-Entwicklung oder seinen Einbauten vertraut, aber es scheint mir zu mir, dass iOS kann zumindest einige kryptographische Operationen tun < / a>. Möglicherweise möchten Sie jedoch mehr in diese Methoden lesen, weil ich nicht wirklich sicher bin, wie Sie Gas und IOS zusammen setzen. Ich kann Ihnen leider keine weitere Hilfe geben.

Andere Tipps

Die obigen Funktionen funktionieren nicht für mich.Hier ist etwas, was Sie kopieren und in Google-Blätter (Tabellenkalkulation) kopieren und einfügen können (Kalkulationstabelle) -Kippe-Editor

generasacodicetagpre.

Dies ist, was Sie bekommen, wenn Sie es verwenden= eng in Ihrer Tabelle

 Geben Sie hier eingeben Beschreibung hier eingeben

basierend auf diesem Beitrag hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top