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



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

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

第一npm install --save sha.js

导入您的组件、服务等:

import * as shajs from 'sha.js';

然后按照文档的建议使用它:

shajs('sha256').update({stringToBeHashed}).digest('hex')

在我回答您的问题之前,您应该了解 SHA256 不应用于密码。 您还应该知道,客户端密码散列通常不会完成,但许多研究人员都在推动它。 问题是很容易做错事。 指导在这里和这里。

现在回答你的问题,而不是使用Angular2,为什么不直接引入斯坦福JavaScript加密库或Crypto-Js? SHA256 上的 API 记录在这些链接中。

SHA-256 和 md5 都提供散列而不是加密。SHA-256现在仍然不提供任何Angular2支持。如果你想hashstring/hashAsciiStr,它在ts-md5中非常简单。

TS-MD5 npm 链接

使用 ts-md5 的步骤:

  1. npm 安装

    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)

希望对您有所帮助

你应该直接导入shajs.js

import shajs from 'sha.js';

然后重用它:

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

Angular 14:

我不得不使用 js-sha256 来实现最新版本的目的。

只需在组件中导入

import { sha256 } from 'js-sha256';

并像

console.log(sha256.update("secretPass").hex());

最新更新