Skip to content

PHP Implementation of Random.org's JSON-RPC API

License

Notifications You must be signed in to change notification settings

youngbobby/randomorg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

randomorg

Native PHP and Laravel Implementation of Random.org's JSON-RPC API

Installation with Composer

composer require defiant/randomorg

or add it in your composer.json require block.

{
    "require": {
        "defiant/randomorg": "1.*"
    }
}

and

composer update

Native PHP Usage

$apiKey = '00000000-0000-0000-0000-000000000000';
$random = new RandomOrg\Random($apiKey);

// Simple method
// following functions returns 52 random non-repeating numbers between 1-52

$result = $random->generateIntegers(52, 1, 52, false);

// Signed methods
// following functions returns the above with signed data
$result = $random->generateIntegers(52, 1, 52, false, 10, true);

// Verify Signature
$verified = $random->verifySignature($result['result']['random'], $result['result']['signature']);

Laravel Usage

  • Register service provider in your config/app.php file.
RandomOrg\RandomServiceProvider::class
  • Register the RandomOrg facade in the aliases key of your config/app.php
'RandomOrg' => RandomOrg\Facades\Random::class,
  • Run a vendor:publish artisan command to publish your configuration assets to config/randomorg.php
$ php artisan vendor:publish --provider="RandomOrg\RandomServiceProvider"

You may set your API key directly in your config/randomorg.php file or in your .env file like so:

RANDOM_ORG_API_KEY=00000000-0000-0000-0000-000000000000

Example code:

use RandomOrg;

public function random()
{
    return RandomOrg::generateIntegers(52, 1, 52, false);
}

About API Keys

You can get your own API key at https://api.random.org/api-keys

Api Key (00000000-0000-0000-0000-000000000000) used in these examples will be disabled when the beta ends. Get your API key at https://api.random.org/api-keys

For the native implementation, there are three methods where you can set the API key in your class.

First in the constructor:

$apiKey = '00000000-0000-0000-0000-000000000000';
$random = new RandomOrg\Random($apiKey);

Secondly you can set it directly your class

protected $apiKey = '00000000-0000-0000-0000-000000000000';

or you can use the setApi method

$apiKey = '00000000-0000-0000-0000-000000000000';
$random = new RandomOrg\Random();
$random->setApiKey($apiKey);

Note: Method names are the same with simple method names on the API. To make signed request an optional boolean parameter is needed as the final argument.

Currently supports simple and signed methods below. For more information see https://api.random.org/json-rpc/1/

  • generateIntegers
  • generateDecimalFractions
  • generateGaussians
  • generateStrings
  • generateUUIDs
  • generateBlobs
  • getUsage
  • generateSignedIntegers
  • generateSignedDecimalFractions
  • generateSignedGaussians
  • generateSignedStrings
  • generateSignedUUIDs
  • generateSignedBlobs
  • verifySignature

About

PHP Implementation of Random.org's JSON-RPC API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%