phpnuxbill/system/autoload/Password.php
2024-08-07 11:10:43 +07:00

51 lines
1.3 KiB
PHP

<?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);
}
}