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
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')
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.
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 ....
Étape pour utiliser ts-md5:
installation de npm
npm install ts-md5
Importez la classe dans votre composant où vous souhaitez utiliser
import {Md5} from 'ts-md5/dist/md5';
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