在Node.js后端处理用户身份验证

在NodeJS后端处理用户验证似乎有用的模块。

把密码进行哈希处理

包裝:

yarn add bcrypt
yarn add --dev @types/bcrypt

被设想的情况

    • クライアント側から送られてきたパスワードをハッシュ化してデータベースに格納する。

 

    データベースに格納されたハッシュ化したパスワードと認証のために送られてきたパスワードを比較する。
...
import bcrypt from 'bcrypt';
...
action: async (request: Request, response: Response) => {
    const saltRounds: number = 10;

    const hashedPassword: string = await bcrypt.hash(request.body.password, saltRounds);
    const result: boolean = await bcrypt.compare(request.body.password, hashedPassword);
    const result2: boolean = await bcrypt.compare('wrong_password', hashedPassword);

    console.log(hashedPassword); // --> ハッシュ化されたパスワード
    console.log(result); // --> TRUE 
    console.log(result2); // --> FALSE
...
广告
将在 10 秒后关闭
bannerAds