我想使用CryptoJS进行渐进式HMAC512哈希处理。
如果包含整个CryptoJS库,则可以很容易地按以下步骤进行操作:
import { Component, OnInit } from '@angular/core';
import{ StudentHttpServService } from '../show-students/student-http-serv.service';
import {Router, ActivatedRoute} from '@angular/router';
import {Inject} from '@angular/core';
@Component({
selector: 'app-classes-component',
templateUrl: './classes-component.component.html',
styleUrls: ['./classes-component.component.css']
})
export class studentDetailsComponent implements OnInit {
constructor(@Inject(StudentHttpServService) private __astudentHttpServService: StudentHttpServService, @Inject(ActivatedRoute) private _activatedroute = ActivatedRoute, @Inject(Router) private _router:Router) {
}
ngOnInit() {
//this._StudentHttpServService.getstudentDetailsHttpSrv()
let studentCode = this._activatedroute.snapshot.params['id']
}
}
但是,我不想包含整个CryptoJS库,因为它可以在空间和计算能力非常小的设备上运行。所以我只尝试包括相关位:
const hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA512, secret_buffer);
hmac.update(text);
hmac.finalize();
但是它会反驳说,没有创建未定义的函数。
或者,我尝试按构造函数创建它:
import HMAC from "crypto-js/hmac";
import sha512 from "crypto-js/sha512";
const hmac = HMAC.create(sha512, secret_buffer);
但是在这种情况下,我听说v不是函数。
我应该怎么做?