2016-05-25 19 views
3

セルリスト内のテキストのMD5またはSHA1ハッシュを計算するにはどうすればよいですか?たとえば、列Aの行1-100に100個の電子メールアドレスがあり、それらをすべて暗号化したいとします。復号化された電子メールアドレスの横の列Bに暗号化された電子メールを書きたいと思います。これを行う最善の方法は何ですか?Googleスプレッドシート内のセルのハッシュリスト

私はanswer hereを読みましたが、それはまさに私が、私はこのスクリプトを使用して始まった

:-(Googleスプレッドシートとの最小限の経験を持っている

動作しませんが、唯一の1通の電子メールを暗号化することができ時間

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

あなたはそれが

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 
    } 
} 
を作品)の下に、以下の機能を追加して、straightToTextを(実行する場合
1

はあなたがやったようMD5関数を定義し、次にB1プットで:

=arrayformula(MD5(A1:A100))