ParagonIE\Halite\KeyFactory::getKeyDataFromString PHP Method

getKeyDataFromString() public static method

Take a stored key string, get the derived key (after verifying the checksum)
public static getKeyDataFromString ( string $data ) : string
$data string
return string
    public static function getKeyDataFromString(string $data) : string
    {
        $versionTag = Util::safeSubstr($data, 0, Halite::VERSION_TAG_LEN);
        $keyData = Util::safeSubstr($data, Halite::VERSION_TAG_LEN, -\Sodium\CRYPTO_GENERICHASH_BYTES_MAX);
        $checksum = Util::safeSubstr($data, -\Sodium\CRYPTO_GENERICHASH_BYTES_MAX, \Sodium\CRYPTO_GENERICHASH_BYTES_MAX);
        $calc = \Sodium\crypto_generichash($versionTag . $keyData, '', \Sodium\CRYPTO_GENERICHASH_BYTES_MAX);
        if (!\hash_equals($calc, $checksum)) {
            throw new Alerts\InvalidKey('Checksum validation fail');
        }
        \Sodium\memzero($data);
        \Sodium\memzero($versionTag);
        \Sodium\memzero($calc);
        \Sodium\memzero($checksum);
        return $keyData;
    }