sofwar/randomorg

该软件包最新版本(v1.0.0)没有可用的许可信息。

PHP类和Laravel实现Random.org

v1.0.0 2016-10-24 11:16 UTC

This package is auto-updated.

Last update: 2024-09-27 18:18:19 UTC


README

Random.org JSON-RPC API的本地PHP和Laravel实现

使用Composer安装

composer require defiant/randomorg

或者在您的composer.json require块中添加它。

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

composer update

本地PHP使用

$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使用

  • 在您的config/app.php文件中注册服务提供程序。
RandomOrg\RandomServiceProvider::class
  • 在您的config/app.phpaliases键中注册RandomOrg门面
'RandomOrg' => RandomOrg\Facades\Random::class,
  • 运行vendor:publish artisan命令以将您的配置资产发布到config/randomorg.php
$ php artisan vendor:publish --provider="RandomOrg\RandomServiceProvider"

您可以直接在您的config/randomorg.php文件中或在您的.env文件中设置API密钥,如下所示

RANDOM_ORG_API_KEY=00000000-0000-0000-0000-000000000000

示例代码

use RandomOrg;

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

关于API密钥

您可以在https://api.random.org/api-keys获取自己的API密钥

在此示例中使用的API密钥(00000000-0000-0000-0000-000000000000)将在测试版结束时禁用。请从https://api.random.org/api-keys获取您的API密钥

对于本地实现,有三种方法可以在您的类中设置API密钥。

首先在构造函数中

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

其次,您可以直接在您的类中设置它

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

或者您可以使用setApi方法

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

注意:方法名称与API上的简单方法名称相同。为了使签名请求成为可选的布尔参数,需要作为最后一个参数。

目前支持以下简单和签名方法。更多信息请参阅https://api.random.org/json-rpc/1/

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