taplink / taplink-php
PHP Bindings for Blind Hashing
dev-master
2017-01-11 09:02 UTC
Requires (Dev)
- phpunit/php-code-coverage: ^4.0
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-11-09 20:57:14 UTC
README
PHP Bindings for Blind Hashing
Installation
If you're using composer:
composer require taplink/taplink-php
Otherwise, include the src/TapLink/TapLink/Client.php
and src/TapLink/TapLink/Response.php
files.
Usage
<?php require_once __DIR__ . '/vendor/autoload.php'; use \TapLink\TapLink\Client; $appId = "my-app-id"; $taplink = new Client($appId); $hash = hash_hmac(Client::$hashAlgorithm, "secret", hex2bin("4cb78a1a60599df9c3bd9e4ac741a5f15feec1812b22a5f15bbad978039f2765f00dd82d97272eb3674cd164a0cc7024bbfd3704c6df6e2cb17a6562bd96ecb7")); $res = $taplink->getSalt($hash); if ($res->err) { echo "An error occurred: ".$res->err; return; } echo "===================================\n"; echo "Version: {$res->versionId}\n"; echo "New version id: {$res->newVersionId}\n"; echo "Salt2Hex: {$res->salt2Hex}\n"; echo "New Salt2Hex: {$res->newSalt2Hex}\n"; echo "===================================\n"; $res = $taplink->newPassword($hash); if ($res->err) { echo "An error occurred: ".$res->err; return; } echo "Version: {$res->versionId}\n"; echo "Salt2Hex: {$res->salt2Hex}\n"; echo "Hash2Hex: {$res->hash2Hex}\n"; echo "New version id: {$res->newVersionId}\n"; echo "New Salt2Hex: {$res->newSalt2Hex}\n"; echo "===================================\n"; $res = $taplink->verifyPassword($hash, "expected-hash"); if ($res->err) { echo "An error occurred: ".$res->err; return; } echo sprintf("Match: %s\n", $res->matched ? "true" : "false"); echo "Version: {$res->versionId}\n"; echo "Salt2Hex: {$res->salt2Hex}\n"; echo "Hash2Hex: {$res->hash2Hex}\n"; echo "New version id: {$res->newVersionId}\n"; echo "New Salt2Hex: {$res->newSalt2Hex}\n"; echo "===================================\n";