在Angular 5中生成md5哈希

Ale*_*lex 0 md5 angular

在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
    ) { }
}
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

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

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

Ale*_*lex 10

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

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

const md5 = new Md5();
console.log(md5.appendStr('hello').end());
Run Code Online (Sandbox Code Playgroud)

感谢所有人的快速回复.


Tom*_*ula 5

你不能像这样注入 MD5 类,因为 angular 依赖注入框架不知道如何提供它。您只能请求提供@NgModule程序中提供的类或其他导入的@NgModules.

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