Хэширование пароля

MasterOfLineageII

Heir
Customer
Народ, подскажите пожалуйста, что я делаю не правильно.

Регистрация должна хешировать пароль в PasswordHash = sha256
Вот код php
// Хеширование пароля с помощью SHA-256
$hashedPassword = hash("sha256", $password);

При входе пишет что пароль не подходит к аккаунту
 
# Актуальное хеширование, рекомендуется whirlpool2
PasswordHash = whirlpool2
# Поддерживаемые устаревшие методы, например sha1 (l2jserver)
LegacyPasswordHash = sha1
 
Ты забыл про Base64
Добавил всё, но также пишет пароль не подходит

// Шифрование пароля в Base64
$encodedPassword = base64_encode($password);

// Хеширование пароля с использованием SHA-256
$hashedPassword = hash("sha256", $encodedPassword);
 
Last edited by a moderator:
simon cowell facepalm GIF


я не шарю в вашем PHP,
account.setPasswordHash(Config.DEFAULT_CRYPT.encrypt(password));
encrypt > checksum.setEncoding("BASE64");

ответ был дан, что вы там делаете в своей php мне вообще ни как неизвестно
 
simon cowell facepalm GIF


я не шарю в вашем PHP,
account.setPasswordHash(Config.DEFAULT_CRYPT.encrypt(password));
encrypt > checksum.setEncoding("BASE64");

ответ был дан, что вы там делаете в своей php мне вообще ни как неизвестно
Спасибо за ответ, буду тогда искать ошибку ;)
 
Спасибо за ответ, буду тогда искать ошибку ;)
Всем привет)

Смотри я писал API на NodeJS, но суть одна и та же, вот моя функция хелпер которая хеширует пароль:
import crypto from "crypto";

export const getHashedValue = async (data: string): Promise<string> => {
try {
const hash = crypto.createHash("sha256").update(data).digest("base64");
return Promise.resolve(hash);
} catch (err) {
return Promise.reject(err);
}
};

Попробуй аналогично на стороне пыхи, сначала делай хеш, а потом base64, иначе ты получаешь пароль без base64

$hashedPassword = hash("sha256", $password);
$hashedPasswordBase64 = base64_encode($hashedPassword);


---------------------
Рабочий пример, я протестил:

<?php
$pwd = "test_sha256_pwd";

$hashedPassword = hash("sha256", $pwd);
$hashedPasswordBase64 = base64_encode($hashedPassword);

var_dump($hashedPasswordBase64)
?>

-----------------------

PS: Сначала нужно было посмотреть формат строки с sha256 и потом уже смотреть результат который ты получаешь) тогда можно избежать таких вопросов).
 
Last edited:
Подниму эту тему

Если я правильно понял , сначала пароль надо зашифровать в sha256 ,и полученый результат в base64 , правильно я понял ?
 
Back
Top