【发布时间】:2023-07-15 11:43:01
【问题描述】:
我们目前正在开发基于 Ionic 的应用程序。为了启用新登录并长时间保留数据,我们使用离子存储。在 Android 仿真 (Android 11) 中,一切似乎都运行良好。如果我在智能手机 (Android 11) 上安装该应用程序,我的脚本会弹出并中断。
该应用程序是返回交付服务的下一个访问点的应用程序。整个事情与一个与会话一起工作的 PHP-RestAPI 一起工作。会话以及访问数据和其他数据(游览)应保存在存储中。为了安全起见,整个 AES256 被加密(值)。
是否有已知问题,是我弄错了吗?
但没有活动错误。到目前为止,问题只发生在捆绑器之后的真实设备上。
这里有一些代码sn-ps:
app.module.ts
imports: [
IonicModule.forRoot(),
IonicStorageModule.forRoot({
name: '__tourenApp',
driverOrder: ['sqlite', 'indexeddb', 'websql', 'localstorage'],
}),
...
]
数据处理程序:
功能解密: ....
const result = await this.storage.get(key);
if (typeof result !== 'undefined' && result !== '' && result !== null) {
try {
const res: string = await this.aes256.decrypt(this.secureKey, this.secureIV, result);
this.srvUtil.logMessage(`Eintrag '${key}' mit Wert '${res}' entschlüsselt und aus dem lokalem Speicher geholt`);
return res;
} catch (error) {
this.srvUtil.logMessage(`Es konnten keine Daten für den Key '${key}' aus dem Speicher geholt werden`, MessageType.Error);
}
} else {
return '';
}
... Encrypt-Func:
try {
const res = await this.aes256.encrypt(this.secureKey, this.secureIV, value);
await this.storage.set(key, res);
this.srvUtil.logMessage(`Neuen Eintrag '${key}' mit Wert '${value}' verschlüsselt und im lokalem Speicher gesichert`);
} catch (error) {
this.srvUtil.logMessage(
`Fehler beim Setzen eines neuen Storage Eintrags mit dem Key ${key} und dem Wert ${value}`, MessageType.Error);
}
版本详情:
- 离子 CLI:6.12.1
- 离子角度:5.0.0
- 离子存储:2.2.0
- 科尔多瓦:9.0.0
- Angular-Core:9.0.0
【问题讨论】: