fortuna based rng js
var os = require('os');
if (os.platform() == 'win32') {
if (os.arch() == 'ia32') {
var chilkat = require('@chilkat/ck-node11-win-ia32');
} else {
var chilkat = require('@chilkat/ck-node11-win64');
}
} else if (os.platform() == 'linux') {
if (os.arch() == 'arm') {
var chilkat = require('@chilkat/ck-node11-arm');
} else if (os.arch() == 'x86') {
var chilkat = require('@chilkat/ck-node11-linux32');
} else {
var chilkat = require('@chilkat/ck-node11-linux64');
}
} else if (os.platform() == 'darwin') {
var chilkat = require('@chilkat/ck-node11-macosx');
}
function chilkatExample() {
// All Chilkat classes can be unlocked at once at the beginning of a program
// by calling UnlockBundle. It requires a Bundle unlock code.
var chilkatGlob = new chilkat.Global();
var success = chilkatGlob.UnlockBundle("Anything for 30-day trial.");
if (success !== true) {
console.log(chilkatGlob.LastErrorText);
return;
}
var fortuna = new chilkat.Prng();
// Before beginning to generate random data,
// the PRNG (Pseudo Random Number Generator) should
// be seeded with real random data (also known as "entropy").
// Note: Accumulating real random data can be difficult
// and time-consuming to collect. It is for this reason
// that pseudorandom data (i.e. a PRNG) is used. The pseudorandom data generator
// is seeded with entropy. In addition, new entropy can (and should)
// be periodically added as more pseudorandom data is generated.
// Get 32 bytes of system entropy. On Linux/Unix systems, this reads
// from /dev/random. On MS Windows systems, it uses the Crypto API's
// CryptGenRandom function.
var strEntropy = fortuna.GetEntropy(32,"hex");
if (fortuna.LastMethodSuccess !== true) {
console.log(fortuna.LastErrorText);
return;
}
// Seed the PRNG with this entropy:
success = fortuna.AddEntropy(strEntropy,"hex");
if (success !== true) {
console.log(fortuna.LastErrorText);
return;
}
// Generate some random data:
var strRandHex = fortuna.GenRandom(16,"hex");
var strRandBase64 = fortuna.GenRandom(22,"base64");
var strRandBase58 = fortuna.GenRandom(32,"base58");
console.log("hex random bytes: " + strRandHex);
console.log("base64 random bytes: " + strRandBase64);
console.log("base58 random bytes: " + strRandBase58);
}
chilkatExample();