加密填充问题

问题描述 投票:0回答:1

我看到以下问题作为崩溃报告。可能存在导致该问题的一系列语句。请查看代码片段并建议是否需要更改第一行上设置的首选项。请告诉我。

``

Codename One revisions: 7dd4e7d08b3442d90959477ee52a5ae8c4361b29
[EDT] 0:0:0,3 - Exception: java.io.IOException - 
org.bouncycastle.crypto.InvalidCipherTextException: pad block corrupted
java.io.IOException
at com_codename1_crypto_EncryptedStorage.createInputStream:70
at com_codename1_io_Storage.readObject:263
at com_codename1_io_Preferences.get:84
at com_codename1_io_Preferences.get:252
at com_fluency_fluencymobile_server_ServerImpl.__INIT__:49
at com_fluency_fluencymobile_server_Server.__CLINIT__:14
at com_fluency_fluencymobile_Main.init:51
at com_fluency_fluencymobile_MainStub.run:30
at com_codename1_ui_Display.processSerialCalls:1303
at com_codename1_ui_Display.mainEDTLoop:1097
at com_codename1_ui_RunnableWrapper.run:120
at com_codename1_impl_CodenameOneThread.run:176
at java_lang_Thread.runImpl:153

``

代码:

``

public void init(Object context) {
Preferences.setPreferencesLocation("EncryptedPreferences");
Storage.getInstance().deleteStorageFile(Cookie.STORAGE_NAME);
EncryptedStorage.install("hshdjimnj");
JSONParser.setUseLongs(true);
Display.getInstance().setProperty("AppVersion", "2.1");
NetworkManager.getInstance().updateThreadCount(2);
Util.register("Activity", Activity.class);
Util.register("OfflineCommand", OfflineCommand.class);
Util.register("Appointment", Appointment.class);
theme = UIManager.initNamedTheme("/theme", "Theme");
Dialog.setDefaultBlurBackgroundRadius(10);

``

java codenameone
1个回答
0
投票

为什么

EncryptedStorage.install("hshdjimnj");
不是
init()
方法中的第一行?

如果某些代码在加密之前访问首选项,则可能会发生这种情况,我不确定如何,因为

init()
应该是第一件事。

请注意,这只是一个信息性错误,您可以通过此代码看到。如果该代码无法读取文件,则返回 null 并向您报告错误。当使用

set()
调用保存文件时,这将触发正确加密的文件的重写。

© www.soinside.com 2019 - 2024. All rights reserved.