2016-05-25 3 views
3

Как я могу вычислить хэш-текст MD5 или SHA1 в списке ячеек? Например, у меня есть 100 адресов электронной почты в столбце A row 1-100, и я хочу их зашифровать. Я хотел бы написать зашифрованные письма в столбце B рядом с каждым расшифрованным адресом электронной почты. Каков наилучший способ сделать это?Хеш-список текста ячеек в таблице Google

Я прочитал answer here, но это точно не работает

У меня есть минимальный опыт работы с электронными таблицами Google :-(

Я начал с помощью этого сценария, но может зашифровать только один адрес электронной почты в время

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; 
} 

ответ

0

если добавить следующую функцию ниже, а затем запустить straightToText() работает

function straightToText() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 
    var r = 1; 
    var n_rows = 9999; 
    var n_cols = 1; 
    var column = 1; 
    var sheet = ss[0].getRange(r, column, n_rows, ncols).getValues(); // get first sheet, a1:a9999 
    var results = []; 
    for (var i = 0; i < sheet.length; i++) { 
    var hashmd5= GetMD5Hash(sheet[i][0]); 
    results.push(hashmd5); 
    } 
    var dest_col = 3; 
    for (var j = 0; j < results.length; j++) { 
    var row = j+1; 
    ss[0].getRange(row, dest_col).setValue(results[j]); // write output to c1:c9999 as text 
    } 
} 
1

Определение MD5 функции, как вы делали, а затем в B1 сайте:

=arrayformula(MD5(A1:A100)) 
Смежные вопросы