Angular 2将字符串转换为md5哈希

gsi*_*dze 4 javascript md5 angular

我找到了ts-md5包,但在示例中它有一个hashStr方法,但现在却没有.

属性'hashStr'在类型上不存在Md5.

使用该错误后,我的控制台中会记录该错误.我怎样才能做到这一点?

我尝试在构造函数中注入它

constructor(private _md5: Md5) {}
Run Code Online (Sandbox Code Playgroud)

然后

let a: any = this._md5.hashStr("password");
Run Code Online (Sandbox Code Playgroud)

Jos*_*ier 6

我刚检查了文档和源代码,并且该hashStr方法在Md5类的实例上不存在.

这意味着如果您只需要使用该hashStr方法,则不需要在构造函数中初始化类,因为您可以直接在Md5类上调用该方法:

let hash = Md5.hashStr("password");
Run Code Online (Sandbox Code Playgroud)

如果要从实例(而不是类)生成哈希,那么您将使用该appendStr方法然后链接该end()方法:

let hash = _md5.appendStr('password').end();
Run Code Online (Sandbox Code Playgroud)

此外,由于您使用的是Angular 2,如果要在构造函数中初始化它,请记住Md5在组件的providers数组中添加该类:

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

@Component({
  // ...
  providers: [Md5]
})
export class ExampleComponent {
  constructor(
    private _md5: Md5
  ) {
    let hash = Md5.hashStr("password");

    // or ...

    let hash2 = _md5.appendStr('password').end();
  }
}
Run Code Online (Sandbox Code Playgroud)