TP done
This commit is contained in:
@@ -97,7 +97,12 @@ router.post('/register-good', async (req, res) => {
|
|||||||
// le thread principal de Node.js est libéré et peut traiter
|
// le thread principal de Node.js est libéré et peut traiter
|
||||||
// d'autres requêtes.
|
// d'autres requêtes.
|
||||||
|
|
||||||
const hash = ''; // TODO
|
const hash = await argon2.hash(password, {
|
||||||
|
type: argon2.argon2id, // La variante la plus robuste
|
||||||
|
memoryCost: 2 ** 16, // 64Mo de RAM (65536 KiB)
|
||||||
|
timeCost: 3, // 3 itérations
|
||||||
|
parallelism: 1 // Utilise 1 cœur
|
||||||
|
});
|
||||||
|
|
||||||
// 2. Le hash contient le sel (salt) et les paramètres de coût.
|
// 2. Le hash contient le sel (salt) et les paramètres de coût.
|
||||||
// Il est auto-suffisant.
|
// Il est auto-suffisant.
|
||||||
@@ -134,7 +139,7 @@ router.post('/login-good', async (req, res) => {
|
|||||||
// 3. On utilise 'argon2.verify'
|
// 3. On utilise 'argon2.verify'
|
||||||
// Cette fonction lit le hash, extrait le sel et les paramètres,
|
// Cette fonction lit le hash, extrait le sel et les paramètres,
|
||||||
// re-hache la tentative (password) et compare en temps constant.
|
// re-hache la tentative (password) et compare en temps constant.
|
||||||
const isMatch = false; // TODO
|
const isMatch = await argon2.verify(user.hash, password);
|
||||||
|
|
||||||
if (isMatch) {
|
if (isMatch) {
|
||||||
res.json({ msg: 'Connexion Argon2id réussie ! (Vous êtes en sécurité)' });
|
res.json({ msg: 'Connexion Argon2id réussie ! (Vous êtes en sécurité)' });
|
||||||
|
|||||||
Reference in New Issue
Block a user