entropy-buffer

1.0.0 • Public • Published

entropy-buffer

Create a buffer with a target shannon entropy

Example

var create = require('entropy-buffer');
var entropy = require('binary-shannon-entropy');

for (var i = 0; i < 9; i++) {
  var buf = create(32, i);
  console.log(
    'Target: %s Actual: %s Buffer: %s',
    pad(i),
    pad(Math.round(entropy(buf) * 10) / 10),
    buf.toString('hex')
  );
}

function pad(n){
  var str = String(n);
  return str.length == 1
    ? str + '.0'
    : str;
}

Output:

 ∴  entropy-buffer : node example.js
 Target: 0.0 Actual: 0.0 Buffer: 0000000000000000000000000000000000000000000000000000000000000000
 Target: 1.0 Actual: 1.1 Buffer: 0000009f00280005549f0000000000000000000000ed00000000000000000000
 Target: 2.0 Actual: 1.9 Buffer: 0000000000007900d000000000002300aa45004b8600000003a9000071000000
 Target: 3.0 Actual: 3.0 Buffer: 00005500020007b52500001600d5ce0dc200e54b000000b200a163003c000000
 Target: 4.0 Actual: 3.9 Buffer: e94c00000014003e23c6f375cdae0b7376c400962d4246000f00762200000037
 Target: 5.0 Actual: 4.3 Buffer: 00881cb7ab877b87d10087400094dbadca878ab998e1cf1f4f82d554f800f800
 Target: 6.0 Actual: 4.0 Buffer: 38a2c67a00d900ab3e992400c800b9e5b66900a168004a000d995a0049e1e100
 Target: 7.0 Actual: 4.2 Buffer: 600000c96eb2ba853352003150001e0064c14e81ca84a88c13810000de020045
 Target: 8.0 Actual: 4.3 Buffer: 6c00001300f400541619a8020f3f86b35500c706104daa3bc04c0096f0001500

Installation

$ npm install entropy-buffer

API

create(length, target[, passes = 50])

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i entropy-buffer

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • juliangruber