我收到一个 CSV 文件,在该文件中我需要对一列进行十六进制编码,并对另一列进行 MD5 哈希处理。
我正在寻找的最终结果是从 FTP 帐户获取传入的 CSV 文件,以某种方式从两列中获取数据并自动将数据编码(如上所述)到另外两列中。
虽然我可以使用在 Excel 中手动找到的脚本来执行此操作,但我确实需要以其他方式自动执行此过程,因此我正在寻求帮助以了解如何执行此操作,也许可以将 CSV 文件从 FTP 发送到 Google Sheets并在那里有一个脚本,可以在导入数据时自动添加两个计算 - 这样我就可以从 Google Sheets 中提取数据作为将使用它的程序的源(自动)?
或者是否有一个程序可以做到这一点?
非常感谢任何帮助!
最佳答案
您可以在 Google 表格中执行此操作
十六进制编码
如果你想对十进制数字进行十六进制编码,你可以使用这个内置函数:DEC2HEX()。有关该函数的文档 https://support.google.com/docs/answer/3093137?hl=en
MD5 哈希
打开工具 > 脚本编辑器
,然后粘贴以下代码:
function MD5 (input) {
var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, input);
var txtHash = '';
for (i = 0; i < rawHash.length; i++) {
var hashVal = rawHash[i];
if (hashVal < 0) {
hashVal += 256;
}
if (hashVal.toString(16).length == 1) {
txtHash += '0';
}
txtHash += hashVal.toString(16);
}
return txtHash;
}
之后保存脚本,然后在引用单元格时使用电子表格中的 MD5() 函数。
关于csv - 电子表格列的自动 MD5 和十六进制编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43353248/