Google 表:导入库 (CryptoJS)

Mic*_*sma 3 cryptography google-sheets google-apps-script cryptojs

我正在使用谷歌工作表网络脚本来操作电子表格数据,并且我想使用以下函数来加密某些单元格:

var crypto = CryptoJS.AES.encrypt("消息", "密钥");

有一个选项可以将库添加到 Google Sheet 网络脚本中,但我不知道如何安装库。根据 Google 文档,您需要项目密钥/脚本 ID 才能使用该库,但我无法找到此类信息。

有人可以协助如何实际导入此 CryptoJS 库以在网页脚本中使用。

在此输入图像描述


在此输入图像描述

Tan*_*ike 9

问题和解决方法:

不幸的是,现阶段Google Apps Script方法中似乎还没有直接实现AES加密的内置方法。

那么在这种情况下,下面的解决方法怎么样?

模式一:

在此模式中,使用了crypto-js 。

用法:

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);
}
Run Code Online (Sandbox Code Playgroud)
  • 当您运行 的函数时myFunction(),将返回加密和解密的值。

模式 2:2022 年 4 月 7 日更新。

在此模式中,使用“cCryptoGS” ,它是一个 Google Apps 脚本库。

用法:

1.安装Google Apps脚本库:

安装库的项目密钥是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);
}
Run Code Online (Sandbox Code Playgroud)
  • 当您运行 的函数时myFunction,将返回加密和解密的值。

参考: