Use sha512 crypt to store ftp password hashes

This commit is contained in:
Kienan Stewart 2018-04-16 22:46:05 -04:00
parent 56cbd2f8b4
commit 88f3457191
3 changed files with 4 additions and 3 deletions

View File

@ -321,7 +321,7 @@ class m_ftp {
return false; // The error has been raised by checkPolicy() return false; // The error has been raised by checkPolicy()
} }
} }
$encrypted_password = _md5cr($pass, strrev(microtime(true))); $encrypted_password = _sha512cr($pass);
$db->query("UPDATE ftpusers SET name= ? , password='', encrypted_password= ?, homedir= ?, uid= ? WHERE id= ?;", array($full_login, $encrypted_password, $absolute, $cuid, $id)); $db->query("UPDATE ftpusers SET name= ? , password='', encrypted_password= ?, homedir= ?, uid= ? WHERE id= ?;", array($full_login, $encrypted_password, $absolute, $cuid, $id));
} else { } else {
$db->query("UPDATE ftpusers SET name= ? , homedir= ? , uid= ? WHERE id= ? ;", array($full_login, $absolute, $cuid, $id)); $db->query("UPDATE ftpusers SET name= ? , homedir= ? , uid= ? WHERE id= ? ;", array($full_login, $absolute, $cuid, $id));
@ -406,7 +406,7 @@ class m_ftp {
} }
if ($quota->cancreate("ftp")) { if ($quota->cancreate("ftp")) {
$encrypted_password = _md5cr($pass, strrev(microtime(true))); $encrypted_password = _sha512cr($pass);
$db->query("INSERT INTO ftpusers (name,password, encrypted_password,homedir,uid) VALUES ( ?, '', ?, ?, ?)", array($full_login, $encrypted_password, $absolute, $cuid)); $db->query("INSERT INTO ftpusers (name,password, encrypted_password,homedir,uid) VALUES ( ?, '', ?, ?, ?)", array($full_login, $encrypted_password, $absolute, $cuid));
return true; return true;
} else { } else {

View File

@ -129,7 +129,7 @@ CREATE TABLE IF NOT EXISTS ftpusers (
id int(10) unsigned NOT NULL auto_increment, id int(10) unsigned NOT NULL auto_increment,
name varchar(64) NOT NULL default '', name varchar(64) NOT NULL default '',
password varchar(32) NOT NULL default '', password varchar(32) NOT NULL default '',
encrypted_password VARCHAR(32) default NULL, encrypted_password VARCHAR(255) default NULL,
homedir varchar(128) NOT NULL default '', homedir varchar(128) NOT NULL default '',
uid int(10) unsigned NOT NULL default '0', uid int(10) unsigned NOT NULL default '0',
enabled boolean NOT NULL DEFAULT TRUE, enabled boolean NOT NULL DEFAULT TRUE,

View File

@ -1 +1,2 @@
ALTER TABLE `membres` MODIFY `pass` varchar(255); ALTER TABLE `membres` MODIFY `pass` varchar(255);
ALTER TABLE `ftpusers` MODIFY `encrypted_password` varchar(255);