生成简短但全局唯一的Message-Id

时间:2015-03-05 02:56:31

标签: node.js rfc2822

我已经构建了一个生成非常独特的Message-Id的模块,但是我被要求缩短它,所以我想知道我能做多短,所以它仍然是RFC 2822有效且不会得到陷入垃圾邮件过滤器。

我看到Python generates一个大约41个字符长,这看起来有点太短了。

有什么建议吗?

'use strict';

var crypto = require('crypto');

// inspired by http://www.jwz.org/doc/mid.html#3

module.exports = function (hostname) {
  var hrtime = process.hrtime();
  var microseconds = hrtime[0] * 1000000 + hrtime[1] / 1000;
  var token = crypto.randomBytes(64).toString('hex');
  var b36 = parseInt(token, 16).toString(36);
  var result = '<';
  result += microseconds;
  result += b36;
  result += '@' + hostname;
  result += '>';
  return result;
};

1 个答案:

答案 0 :(得分:0)

也许cuid适合你?