Exakat\Analyzer\Structures\NoHardcodedHash::analyze PHP Method

analyze() public method

public analyze ( )
    public function analyze()
    {
        $algos = $this->loadJson('hash_length.json');
        $stopwords = $this->loadIni('NotHash.ini', 'ignore');
        $regexDate = '^\\\\d{4}(0?[1-9]|1[012])(0?[1-9]|[12][0-9]|3[01])\\$';
        // Find common hashes, based on hexadecimal and length
        foreach ($algos as $size => $algo) {
            $this->atomIs('String')->hasNoOut('T_CONCAT')->regexIs('noDelimiter', '^[a-fA-Z0-9]{' . $size . '}\\$')->isNotMixedcase('noDelimiter')->noDelimiterIsNot($stopwords)->regexIsNot('noDelimiter', $regexDate);
            $this->prepareQuery();
        }
        // Crypt (some salts are missing)
        $this->atomIs('String')->tokenIsNot('T_QUOTE')->regexIs('noDelimiter', '^\\\\\\$(1|2a|2x|2y|5|6)\\\\\\$.+')->noDelimiterIsNot($stopwords)->regexIsNot('noDelimiter', $regexDate);
        $this->prepareQuery();
        // Base64 encode
        $this->atomIs('String')->tokenIsNot('T_QUOTE')->regexIs('noDelimiter', '^[a-zA-Z0-9]+={0,2}\\$')->raw('filter{ it.get().value("noDelimiter").length() % 4 == 0}')->isNotMixedcase('noDelimiter')->codeLength(' > 101');
        $this->prepareQuery();
    }
NoHardcodedHash