Coder Social home page Coder Social logo

php-fernet's Introduction

PHP-Fernet

Fernet-PHP implementation of the Fernet token specification in PHP. This is a fork of Kelvinmo implementation at fernet-php with some improvements:

  • Drop supporting old PHP versions
  • Exception base for error handling
  • Support msgpack wrapper to reduce token size
  • Key rotation (TBD)

Requirements

  • PHP 5.6 or later
  • hash extension
  • openssl or mcrypt extension
  • mbstring.func_overload needs to be switched off in php.ini

Installation

You can install via Composer.

{
    "require": {
        "webonyx/php-fernet": "dev-master"
    }
}

Usage

<?php
require 'vendor/autoload.php';

use Fernet\Fernet;
use Fernet\InvalidTokenException;

$key = '[Base64url encoded fernet key]'; // or $key = Fernet::generateKey();
$fernet = new Fernet($key); // or new FernetMsgpack($key);

$token = $fernet->encode('string message');

try {
    $message = $fernet->decode('fernet token');
} catch (InvalidTokenException $exception) {
    echo 'Token is not valid';
}
?>

License

BSD 3 clause

php-fernet's People

Contributors

phamviet avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.