mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-03-12 00:45:34 +00:00
add seed_pass_hash() and seed_pass_verify()
This commit is contained in:
parent
245e54f893
commit
05dcde6096
|
@ -598,7 +598,7 @@ function getBaseUrl() { /* {{{ */
|
|||
return "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'];
|
||||
} /* }}} */
|
||||
|
||||
function getToken($length){
|
||||
function getToken($length){ /* {{{ */
|
||||
$token = "";
|
||||
$codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
$codeAlphabet.= "abcdefghijklmnopqrstuvwxyz";
|
||||
|
@ -610,21 +610,41 @@ function getToken($length){
|
|||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
class SeedDMS_CSRF {
|
||||
/**
|
||||
* Hash a password
|
||||
*
|
||||
* @param string $password
|
||||
* @return string hashed password
|
||||
*/
|
||||
function seed_pass_hash($password) { /* {{{ */
|
||||
return md5($password);
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Verify a password
|
||||
*
|
||||
* @param string $password
|
||||
* @return string hashed password
|
||||
*/
|
||||
function seed_pass_verify($password, $hash) { /* {{{ */
|
||||
return $hash == md5($password);
|
||||
} /* }}} */
|
||||
|
||||
class SeedDMS_CSRF { /* {{{ */
|
||||
|
||||
protected $secret;
|
||||
|
||||
public function __construct($secret) {
|
||||
public function __construct($secret) { /* {{{ */
|
||||
$this->secret = $secret;
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
public function create_api_key() {
|
||||
public function create_api_key() { /* {{{ */
|
||||
return base64_encode($this->encrypt(time().'|'.$_SERVER['REMOTE_ADDR'])); // !change if you dont want IP check
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
public function check_api_key($key, $timeout = 5) {
|
||||
public function check_api_key($key, $timeout = 5) { /* {{{ */
|
||||
if (empty($key)) exit('Invalid Key');
|
||||
|
||||
$keys = explode('|', $this->decrypt(base64_decode($key)));
|
||||
|
@ -634,9 +654,9 @@ class SeedDMS_CSRF {
|
|||
$keys[0] >= (time() - $timeout) &&
|
||||
$keys[1] == $_SERVER['REMOTE_ADDR'] // !change if you dont want IP check
|
||||
);
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
public function encrypt($string, $key = 'PrivateKey', $method = 'AES-256-CBC') {
|
||||
public function encrypt($string, $key = 'PrivateKey', $method = 'AES-256-CBC') { /* {{{ */
|
||||
// hash
|
||||
$key = hash('sha256', $key);
|
||||
// create iv - encrypt method AES-256-CBC expects 16 bytes
|
||||
|
@ -645,9 +665,9 @@ class SeedDMS_CSRF {
|
|||
$output = openssl_encrypt($string, $method, $key, 0, $iv);
|
||||
// encode
|
||||
return base64_encode($output);
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
public function decrypt($string, $key = 'PrivateKey', $method = 'AES-256-CBC') {
|
||||
public function decrypt($string, $key = 'PrivateKey', $method = 'AES-256-CBC') { /* {{{ */
|
||||
// hash
|
||||
$key = hash('sha256', $key);
|
||||
// create iv - encrypt method AES-256-CBC expects 16 bytes
|
||||
|
@ -656,8 +676,8 @@ class SeedDMS_CSRF {
|
|||
$string = base64_decode($string);
|
||||
// decrypt
|
||||
return openssl_decrypt($string, $method, $key, 0, $iv);
|
||||
}
|
||||
}
|
||||
} /* }}} */
|
||||
} /* }}} */
|
||||
|
||||
//$CSRF = new SeedDMS_CSRF($settings->_encryptionKey);
|
||||
//$kkk = $CSRF->create_api_key();
|
||||
|
|
Loading…
Reference in New Issue
Block a user