HDB*_*HDB 36 google-sheets google-search-api
如何在特定单元格中计算文本的MD5或SHA1哈希并将其设置为Google电子表格中的另一个单元格?
有没有像一个公式=ComputeMD5(A1)或=ComputeSHA1(A1)?
或者是否可以为此编写自定义公式?怎么样?
小智 79
打开Tools > Script Editor然后粘贴以下代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
之后保存脚本,然后MD5()在引用单元格时使用电子表格中的函数.
此脚本基于Utilities.computeDigest()函数.
小智 20
感谢gabhubert的代码.
这是该代码的SHA1版本(非常简单的更改)
function GetSHA1(input) {
var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_1, input);
var txtHash = '';
for (j = 0; j <rawHash.length; j++) {
var hashVal = rawHash[j];
if (hashVal < 0)
hashVal += 256;
if (hashVal.toString(16).length == 1)
txtHash += "0";
txtHash += hashVal.toString(16);
}
return txtHash;
}
Run Code Online (Sandbox Code Playgroud)
好的,我知道了,
需要按照http://code.google.com/googleapps/appsscript/articles/custom_function.html中的说明创建自定义功能
然后按照http://code.google.com/googleapps/appsscript/service_utilities.html中的说明使用apis
我需要手动输入完整的函数名称,以便我可以在单元格中看到结果.
以下是给出文本的基本64编码散列的代码示例
function getBase64EncodedMD5(text)
{
return Utilities.base64Encode( Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, text));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33800 次 |
| 最近记录: |