Google лист: импортировать библиотеку (Crypto JS) - PullRequest
1 голос
/ 20 марта 2020

Я использую текстовый лист google для работы с данными электронной таблицы и хочу использовать следующую функцию для шифрования определенных ячеек:

var encrypted = Crypto JS .AES.encrypt ("message", «Секретный ключ»);

Существует возможность добавить библиотеки в веб-скрипт Google Sheet, но я не знаю, как установить библиотеку. Согласно документации Google, вам нужен ключ проекта / идентификатор скрипта, чтобы использовать библиотеку, но я не смог найти такую ​​информацию.

Может ли кто-нибудь помочь в том, как на самом деле импортировать эту библиотеку Crypto JS для использования в веб-сценарии.

enter image description here


enter image description here

1 Ответ

2 голосов
/ 21 марта 2020

Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Проблема и обходное решение:

К сожалению, на текущем этапе кажется, что нет встроенных методов для непосредственного достижения AES шифрование в методах Google Apps Script.

Итак, как насчет следующих обходных путей?

Шаблон 1:

В этом шаблоне crypto- js* Используется 1012 *.

Использование:

1. Получить crypto- js:

Пожалуйста, войдите в https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js. Скопируйте и вставьте сценарий в редактор сценариев.

2. Пример сценария:

После копирования и вставки crypto- js скопируйте и вставьте следующий образец сценария.

function myFunction() {
  var key = "sampleSecretKey";
  var value = "sampleMessage";

  var encryptedMessage = CryptoJS.AES.encrypt(value, key).toString();
  var decryptedMessage = CryptoJS.AES.decrypt(encryptedMessage, key).toString(CryptoJS.enc.Utf8);

  Logger.log(encryptedMessage);
  Logger.log(decryptedMessage);
}
  • Когда вы запускаете функцию myFunction(), возвращаются зашифрованные и дешифрованные значения.

Шаблон 2:

В этом шаблоне "cCryptoGS" используется библиотека скриптов Google Apps.

Использование:

1. Установите библиотеку скриптов Google Apps:

Ключ проекта - MSJnPeIon6nzdLewGV60xWqi_d-phDA33 или 1IEkpeS8hsMSVLRdCMprij996zG6ek9UvGwcCJao_hlDMlgbWWvJpONrs. Оба ключа - одна и та же библиотека.

Пожалуйста, установите библиотеку GAS, используя этот ключ проекта.

2. Пример сценария:
function myFunction() {
  var key = "sampleSecretKey";
  var value = "sampleMessage";

  var cipher = new cCryptoGS.Cipher(key, 'aes');
  var encryptedMessage = cipher.encrypt(value);
  var decryptedMessage = cipher.decrypt(encryptedMessage);

  Logger.log (encryptedMessage);
  Logger.log (decryptedMessage);
}
  • При запуске Функция myFunction, зашифрованные и дешифрованные значения возвращаются.

Ссылки:

Если это не то направление, которое вы хотите, я прошу прощения.

...