Resource icon

Binary MCF Encoding in PHP -

No permission to download

Binary MCF Encoding in PHP​


The McfHash class is a PHP implementation of Binary Modular Crypt Format (BMCF) encoding. Only the Bcrypt BMCF definition is implemented.


You can use McfHash::decode() to convert a Bcrypt hash from the usual 60-character notation to its compact 40-byte binary form.


$hash = '$2y$14$i5btSOiulHhaPHPbgNUGdObga/GC.AVG/y5HHY1ra7L0C9dpCaw8u'; // 60 bytes ACSII
$mcfEncoder = new McfHash();
$binaryHash = $mcfEncoder->decode($hash); // 40 bytes binary

Use McfHash::encode() to reconstruct the hash.


$hash = $mcfEncoder->encode($binaryHash);
// $2y$14$i5btSOiulHhaPHPbgNUGdObga/GC.AVG/y5HHY1ra7L0C9dpCaw8u