<?php /** * PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/) * by https://t.me/ibnux **/ class Password { public static function _crypt($password) { return sha1($password); } public static function _verify($user_input, $hashed_password) { if (sha1($user_input) == $hashed_password) { return true; } return false; } public static function _uverify($user_input, $hashed_password) { if ($user_input == $hashed_password) { return true; } return false; } public static function _gen() { $pass = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@#!123456789', 8)), 0, 8); return $pass; } /** * verify CHAP password * @param string $realPassword * @param string $CHAPassword * @param string $CHAPChallenge * @return bool */ public static function chap_verify($realPassword, $CHAPassword, $CHAPChallenge){ $CHAPassword = substr($CHAPassword, 2); $chapid = substr($CHAPassword, 0, 2); $result = hex2bin($chapid) . $realPassword . hex2bin(substr($CHAPChallenge, 2)); $response = $chapid . md5($result); return ($response != $CHAPassword); } }