我创建了我自己的需要加密的hash.js文件,并导出了两个使用加密的函数。当我对密码进行哈希处理时,它在我的api.js文件中工作正常。但是,现在我试图将此文件导入到user.service.ts文件中,以便可以将密码的哈希版本作为查询参数而不是密码本身发送。当我尝试这样做时,我总是收到TypeScript错误,告诉我crypto使用的函数不是函数。但是,我仍然可以控制台日志记录导入的对象,对我来说它看起来合法。我查看了node_modules文件夹中的其他Java脚本文件,但看不到任何文件错误。
我还发现似乎需要创建一些定义文件,但是我也曾尝试过创建这样的文件,但似乎无济于事
几个小时的谷歌搜索以及对该项目的时间不足导致的知识不足,这使我成为了这篇文章,这是我的第一个stackoverflow帖子,我希望它不会不清楚,我很高兴提供任何需要的信息来帮助我解决此问题。
LoginComponent.html:18 ERROR TypeError: crypto.randomBytes is not a function
at Object.genRandomString (hash.js:12)
at UserService.loginUser (user.service.ts:82)
at LoginComponent.getUser (login.component.ts:54)
at LoginComponent.onSubmit (login.component.ts:44)
at Object.eval [as handleEvent] (LoginComponent.html:18)
at handleEvent (core.es5.js:12014)
at callWithDebugContext (core.es5.js:13475)
at Object.debugHandleEvent [as handleEvent] (core.es5.js:13063)
at dispatchEvent (core.es5.js:8607)
at core.es5.js:10775
LoginComponent.html:18 ERROR CONTEXT DebugContext_ {view: {…}, nodeIndex: 31, nodeDef: {…}, elDef: {…}, elView: {…}}
Run Code Online (Sandbox Code Playgroud)
hash.js文件
'use strict';
var crypto = require('crypto');
/**
* generates random string of characters i.e salt
* @function
* @param {number} …Run Code Online (Sandbox Code Playgroud)