angular - 使用angular2中的cryptojs库加密文本

标签 angular ionic2

我正在使用 cryptojs 库来加密密码文本并将数据发送到服务器。 但是我收到以下错误消息,

Error TS2304: Cannot find name 'CryptoJS'. 

我通过以下方式安装了库:sudo npm install crypto-js

import 'crypto-js/crypto-js';
@Page({
  templateUrl: 'build/pages/login/login.html'
})
export class LoginPage {
  constructor(private nav: NavController, public http: Http) {

  }    

  validateUser(fieldval, data){
    let params = "{'ignoreAuthModule': 'ignoreAuthModule'}";
    let headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    headers.append('Parameter',  params);
    let url = 'app/authentication';
    let encrypted_password = Cryptojs.AES.encrypt(fieldval.password, CryptoJS.enc.Base64.parse(data.seed),{mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }).toString().replace(/\+/g, "-").replace(/\//g, '_');

    let requestoptions = new RequestOptions({
      method: RequestMethod.Post,
      url: url,
      headers: this.headers,
      body: JSON.stringify(data)
    })  

    let body = JSON.stringify(params); 

    this.http.post(url, body, headers)
      .subscribe(
        response => {          
        },
        error => {
          console.log(error.text());
        }
      );        
  }            
  logError(err) {
    console.error('There was an error: ' + err);
  }
}

最佳答案

我不知道这个编译错误发生在哪里,但你应该安装 crypto-js 库的类型:

typings install --ambient crypto-js

有关详细信息,请参阅此问题:

关于angular - 使用angular2中的cryptojs库加密文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37296592/

相关文章:

angular - 如何在 Angular 的应用程序级别创建全局计时器?

javascript - 按钮元素在手机上看起来很小

javascript - chart.js 中圆环图上的自定义数据位置

google-maps-api-3 - 如何在 ionic2 中将标记移动到 map 上?

angular - 在 express 和 angular 之间共享接口(interface) interface/model 文件

Angular 2 之后的 angular.element 替代方案

javascript - Angular:Getter/Setter - Getter 返回未定义

javascript - Ionic 2 - 在 HTML 中使用 JSON 数组

javascript - ionic : show image from file path from device

ionic2 - 在 Ionic 2 应用程序中接收 OneSignal 后台通知