defiant/randomorg

本包最新版本(v1.0.0)无可用许可信息。

Random.org 的 PHP 类和 Laravel 实现

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

This package is not auto-updated.

Last update: 2024-09-19 08:17:17 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