web-dev-qa-db-fra.com

Comment implémenter le cryptage SHA-256 dans Angular2

J'ai besoin de crypter mon mot de passe dans SHA256 avant de faire une demande d'API. Je ne trouve aucune implémentation de SHA-256 dans Angular2

5
Shifs

J'ai utilisé sha.js à cet effet, c'est si simple et faites l'affaire!

Premier npm install --save sha.js

Importez dans votre composant, service, peu importe: import * as shajs from 'sha.js';

Et pour la fin, utilisez-le comme le dit la documentation: shajs('sha256').update({stringToBeHashed}).digest('hex')

9
hmartos

Avant de répondre à votre question, vous devez comprendre que SHA256 ne doit pas être utilisé pour les mots de passe . Vous devez également savoir que le hachage de mot de passe côté client ne se fait pas normalement, mais il existe un Push pour cela d'un certain nombre de chercheurs. Le hic, c'est qu'il est facile de se tromper. Guidage ici et ici .

Maintenant, pour répondre à votre question, plutôt que d'utiliser Angular2, pourquoi ne pas simplement insérer Stanford JavaScript Crypto Library ou Crypto-Js ? Les API sur SHA256 sont documentées sur ces liens.

4
TheGreatContini

SHA-256 et md5 fournissent tous deux un hachage et non un cryptage. SHA-256 ne fournit toujours aucun support angular2. Si vous voulez hashstring/hashAsciiStr c'est assez simple dans ts-md5 ....

lien ts-md5 npm

Étape pour utiliser ts-md5:

  1. installation de npm

    npm install ts-md5

  2. Importez la classe dans votre composant où vous souhaitez utiliser

    import {Md5} from 'ts-md5/dist/md5';

  3. Hash certaines choses

    Md5.hashStr('blah blah blah') => hex:string Md5.hashStr('blah blah blah', true) => raw:Int32Array(4) Md5.hashAsciiStr('blah blah blah') => hex:string Md5.hashAsciiStr('blah blah blah', true) => raw:Int32Array(4)

j'espère que cela vous aidera

1
Sayan Samanta