GAS中的哈希txt字符串,行尾不正确

时间:2019-03-22 14:37:17

标签: google-apps-script

我想在GAS中哈希(md5)一些txt字符串,并且有问题,可能是 错误的行尾。 示例:

def f(z, l):
    x = (z['Group'] == l) | (z.index == z.index[-1])
    cs = z['data'].cumsum()
    dx = cs - cs.where(x, np.nan).ffill().shift(1).fillna(0)
    zz = z[x].drop('data', 1).assign(Group=l).join(dx)
    zz['purchase_date'] = pd.to_datetime(zz['purchase_date'])
    zz.at[zz.index[-1], 'purchase_date'] = zz.at[zz.index[-2], 'purchase_date'] + pd.Timedelta('4d')
    return zz

正确的哈希76ce9f441de2ed5de337d391ad4516b7

使用GAS,我得到了错误的哈希值:e8230113fbba92427c1c41cf34a80c13

test
test

1 个答案:

答案 0 :(得分:0)

@Ameen已经提到过,您正在检查不同的字符串

function test(){
  var s1 = 'test\ntest';
  var s2 = 'test\r\ntest';

  Logger.log(s1.MD5() === '76ce9f441de2ed5de337d391ad4516b7');
  Logger.log(s2.MD5() === '76ce9f441de2ed5de337d391ad4516b7');
}
[19-03-22 18:03:11:441 MSK] false
[19-03-22 18:03:11:442 MSK] true

对于非Unix平台,包含“ \ r \ n”的字符串,对于Unix平台,包含“ \ n”的字符串。

似乎您正在Windows下工作。