CakePHP как генерировать свой пароль внешнегоCakePHP как генерировать свой пароль внешнего
Я привык использовать PHP, и у меня было приложение, которое нужно интегрировать с CakePHP.
В основном я пытаюсь создать форму входа, которая может использовать тот же метод хеширования & CakePHP.
Я смотрю на несколько файлов, таких как SecurityComponent и AuthComponent торта PHP и это то, что я получить
$string = "demopassw0rd";
$type = null;
$salt = "mySALT";
$string = $salt . "demo1234";
$stringnew = sha1($string);
echo md5($stringnew);
echo " SPACES ";
$stringnew2 = bin2hex(mhash(MHASH_SHA256, $string));
echo md5($stringnew2);
//Below is the real code.
if ($salt) {
if (is_string($salt)) {
$string = $salt . $string;
} else {
$string = $salt . $string;
}
}
if (empty($type)) {
$type = $hashType;
}
$type = strtolower($type);
if ($type == 'sha1' || $type == null) {
if (function_exists('sha1')) {
$return = sha1($string);
return $return;
}
$type = 'sha256';
}
if ($type == 'sha256' && function_exists('mhash')) {
return bin2hex(mhash(MHASH_SHA256, $string));
}
Используя приведенный выше метод, который был извлечен из торта PHP, я не получить тот же хэш пароля, который был хранится в mysql.
Я пытаюсь создать хэш-метод, поэтому я могу создать другую форму входа, которая не является фреймворком cakephp, и может использовать ту же таблицу входа в систему, что и мое программное обеспечение для торта php, которое находится на одном сервере.
* The level of CakePHP security.
*/
Configure::write('Security.level', 'medium');
/**
* A random string used in security hashing methods.
*/
Configure::write('Security.salt', 'mySALT');
/**
* A random numeric string (digits only) used to encrypt/decrypt strings.
*/
Configure::write('Security.cipherSeed', '65986349865349087509054352724');
Как сделать использование конфигурации выше, чтобы сделать свой собственный метод хеширования, который может хэширования моей входной строки в то же самое, что я хранится в MySQL с помощью CakePHP
Я интерпретировал метод торта PHP хэширования для конфигурация выше
Во-первых
$salt . $string to form a $string value
then sha1($string) and then md5($string)
or bin2hex with the sha264 ($string) and then md5(string)
но как я пытался и не в состоянии получить тот же хэш, как торт PHP
Зачем делать вашу жизнь тяжело? Используйте существующий класс. Классы переносимы и могут быть пригодными для использования и снаружи: 'require ....; $ object = new ...; '. Не нужно взламывать вместе. Это может пойти не так. – mark
@mark спасибо за идею. но я не уверен, как использовать класс :), но я буду исследовать его –