在 Angular 5 中生成 md5 哈希

Generate md5 hash in Angular 5

在 angular 中,我想生成一个 MD5 散列,所以我尝试安装 npm 模块。我尝试了 'crypto-js'、'angular-md5',但很多都没有结果。

最后,我尝试使用 'ts-md5' 并向我抛出一个错误,就像其他人一样。

第一个npm install --save ts-md5

然后:

import {Md5} from 'ts-md5/dist/md5';
@Injectable()
export class HeroService {
    constructor(
        private MD5: Md5
    ) { }
}

但我收到错误:

[Error] ERROR – Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[HeroService -> Md5]: 
  StaticInjectorError(Platform: core)[HeroService -> Md5]: 
    NullInjectorError: No provider for Md5!
get
resolveToken
tryResolveToken
[...]

有没有更好的md5加密模块?我该如何解决这个错误?

您不能像这样注入 MD5 class,因为 angular 依赖注入框架不知道如何提供它。您只能请求 class 已在 @NgModule 供应商中提供或已由其他进口供应商添加到 @NgModules.

的供应商

您应该从构造函数中删除 private MD5: Md 并查看它是否有效。另请查看 angular cli global scripts.

最后,最好的方法是直接将它导入到我必须使用它的组件中,然后用 new Md5().

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

const md5 = new Md5();
console.log(md5.appendStr('hello').end());

感谢大家的快速回复。