离子 3 - 使用 jsencrypt

Posted

技术标签:

【中文标题】离子 3 - 使用 jsencrypt【英文标题】:Ionic 3 - Use jsencrypt 【发布时间】:2017-12-08 21:10:09 【问题描述】:

我正在尝试对我的 Ionic 3 应用程序登录密码进行哈希处理。我找到了一些关于 jsencrypt 的教程,但它不起作用,我真的不明白它是如何工作的......

我做了什么:

npm install --save jsencrypt

import  Component  from '@angular/core';
import  NavController  from 'ionic-angular';
import  ApiDatabaseService  from '../../providers/api-database-service';
import Encrypt from 'jsencrypt';
import  Injectable  from '@angular/core';

@Component(
  selector: 'page-Login',
  templateUrl: 'Login.html'
)

@Injectable()

export class LoginPage 

  private prem: string = `my_key`;
  Users:any = []; // Here there is all my users 

  constructor(public navCtrl: NavController, public serviceOne: ApiDatabaseService) 
    this.serviceOne.getDataUser().subscribe( // I'm calling my api to acces to my database
            data => this.Users = data
        );
  

  public create(name: string): string  // Here the password should be encrypt
        let encrypt = new Encrypt.JSEncrypt();
        encrypt.setPublicKey(this.pem);
        return encrypt.encrypt(name);
    ;

我有这个错误:

Typescript Error Property 'pem' does not exist on type 'LoginPage'.

另外,对于 Ionic 2,有很多这样的文档:https://docs.ionic.io/services/auth/。但是 Ionic 3 没有,为什么?

【问题讨论】:

prem, pem -- 错字? 确实如此…… 你知道这个函数是怎么工作的吗? 请检查:***.com/questions/44887294/rsa-library-with-angular/… 【参考方案1】:

换行

private prem: string = `my_key`;

private pem: string = `my_key`;

【讨论】:

【参考方案2】:

改变

private prem: string = `my_key`;

`private pre: string = `my_key`;

【讨论】:

【参考方案3】:

换行

encrypt.setPublicKey(this.pem);

encrypt.setPublicKey(this.prem);

【讨论】:

【参考方案4】:

使用 Ionic 服务时,您的应用会在创建和登录您的帐户时将您的纯密码发送到 Ionic with service。身份验证服务将处理所有加密。

此外,Ionic 3 没有单独的文档,因为除了一些新功能和重大修复之外,它与 Ionic 2 基本相同。有一些重大变化,但并不多。这不是完全重写,就像从 Ionic 1 -> Ionic 2 那样,他们现在使用语义版本控制,因此主要版本将更加规则,类似于 Angular。

【讨论】:

以上是关于离子 3 - 使用 jsencrypt的主要内容,如果未能解决你的问题,请参考以下文章

如何在离子3(Typescript)中使用Javascript插件?

离子按钮(单击)事件不适用于模态 - 离子3

离子 3 通知

如何在离子 3 中使用角度 6?

显示隐藏的离子 3 角度动画

离子3 - 与cocoapods的xcode错误