Чистый PHP (без каких-либо внешних PHP-расширений). Реализация алгоритмов хеширования (криптографии) BLAKE-256, GROESTL-256, JH-256, SKEIN-256 и KECCAK-256 . Shift-Reality/php-crypto распространяется по лицензии Apache License 2.0.
Инсталляция (композитор):
"repositories": [ { "url": "https://github.com/shift-reality/php-crypto.git", "type": "git", "reference": "newlib" } ]
"require": { "shift196/lib-akash": "1.0.*" }
Использование:
Shift196AKashLibHasher::regBuiltinAlgos();
Shift196AKashLibHasher::registerAlgo('MYHASH', new MyHashImpl());
MyHashImpl
должен реализовывать интерфейс Shift196AKashLibIHashFunction
.
$algo = 'BLAKE256 or GROESTL256 or JH256 or SKEIN256 or KECCAK256';
$hashHex = Shift196AKashLibHasher::doHash($algo, Shift196AKashLibInputDataSupplier::forHex($dataHex))->hex(TRUE);
Просто расширьте Shift196AKashLibInputDataSupplier
и реализуйте абстрактный метод getInputData
.
!!! !!! ПРЕДУПРЕЖДЕНИЕ !!! !!! !!! Не используйте внутренние классы из Shift196AKashLibUtil
их можно изменить без каких-либо уведомлений!!! !!!
ЗАДАЧА :
- использовать PHPUnit для тестирования - добавить больше алгоритмов - написать класс Perf & Password