离子 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的主要内容,如果未能解决你的问题,请参考以下文章