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();


Are there any code examples left?
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.
Creating a new code example
Code snippet title
Source