index.js 368 B

123456789101112131415
  1. var IDX=256, HEX=[];
  2. while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
  3. module.exports = function (len) {
  4. len = len || 16;
  5. var str='', num=0;
  6. return function () {
  7. if (!str || num === 256) {
  8. str=''; num=(1+len)/2 | 0;
  9. while (num--) str += HEX[256 * Math.random() | 0];
  10. str = str.substring(num=0, len-2);
  11. }
  12. return str + HEX[num++];
  13. };
  14. }