Blame view

node_modules/unique-slug/index.js 692 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  'use strict'
  var crypto = require('crypto')
  var MurmurHash3 = require('imurmurhash')
  
  module.exports = function (uniq) {
    if (uniq) {
      var hash = new MurmurHash3(uniq)
      return ('00000000' + hash.result().toString(16)).substr(-8)
    } else {
      // Called without a callback, because this interface should neither block
      // nor error (by contrast with randomBytes which will throw an exception
      // without enough entropy).
      //
      // However, due to a change in Node 0.10.27+, pseudoRandomBytes is now the
      // same as randomBytes, and may in fact block in situations where
      // insufficent entropy is available.
      return crypto.pseudoRandomBytes(4).toString('hex')
    }
  }