如何在Angular2中实现SHA-256加密

时间:2017-05-10 13:11:00

标签: javascript angular sha256

在发出API请求之前,我需要在SHA256中加密我的密码。我无法在Angular2

中找到任何SHA-256的实现

4 个答案:

答案 0 :(得分:7)

我为此目的使用了sha.js,它非常简单并且可以解决问题!

首先npm install --save sha.js

导入您的组件,服务,无论如何:import * as shajs from 'sha.js';

最后,请像文档中所说的那样使用它:shajs('sha256').update({stringToBeHashed}).digest('hex')

答案 1 :(得分:4)

在我回答你的问题之前,你应该理解SHA256 should not be used for passwords。您还应该知道,客户端密码哈希通常不会完成,但是许多研究人员都在推动它。问题在于它很容易做错。指导herehere

现在回答你的问题,而不是使用Angular2,为什么不拉入Stanford JavaScript Crypto LibraryCrypto-Js? SHA256上的API记录在这些链接上。

答案 2 :(得分:0)

SHA-256& md5都提供哈希不加密。 SHA-256现在还没有提供任何angular2支持。如果你想要hashstring / hashAsciiStr,它在ts-md5中非常简单....

ts-md5 npm link

步骤使用ts-md5:

  1. npm install

    npm install ts-md5

  2. 导入组件中要使用的类

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

  3. 散列一些东西

    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)

  4. 希望它可以帮助您

答案 3 :(得分:0)

你应该直接从 sha.js 导入 shajs

import shajs from 'sha.js';

然后重用它:

export class AppComponent  {
  hash = shajs('sha256').update('Abc123$').digest('hex');
}