在发出API请求之前,我需要在SHA256中加密我的密码。我无法在Angular2
中找到任何SHA-256的实现答案 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。您还应该知道,客户端密码哈希通常不会完成,但是许多研究人员都在推动它。问题在于它很容易做错。指导here和here。
现在回答你的问题,而不是使用Angular2,为什么不拉入Stanford JavaScript Crypto Library或Crypto-Js? SHA256上的API记录在这些链接上。
答案 2 :(得分:0)
SHA-256& md5都提供哈希不加密。 SHA-256现在还没有提供任何angular2支持。如果你想要hashstring / hashAsciiStr,它在ts-md5中非常简单....
步骤使用ts-md5:
npm install
npm install ts-md5
导入组件中要使用的类
import {Md5} from 'ts-md5/dist/md5';
散列一些东西
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)
希望它可以帮助您
答案 3 :(得分:0)
你应该直接从 sha.js 导入 shajs
import shajs from 'sha.js';
然后重用它:
export class AppComponent {
hash = shajs('sha256').update('Abc123$').digest('hex');
}