Scheinen wie "Crypto" Anbieter haben in Android N.Verursacht durch: java.security.NoSuchProviderException: keine solche Anbieter: Crypto - Android N
Meine Anwendung entfernt wurden wegen NoSuchProviderException abstürzt.
Wenn ich den Provider und den Algorithmus ändere, dann betrifft das Benutzer, die alle die App gerade benutzen. Hat jemand eine Idee?
KeyGenerator kGen = KeyGenerator.getInstance(KEY_GENERATOR_ALGORITHM);
SecureRandom sr = SecureRandom.getInstance(STR_SHA1PRNG, **CRYPTO**);
sr.setSeed(seed);
kGen.init(128, sr);
SecretKey sKey = kGen.generateKey();
04-30 04: 07: 02,872: E/Android Runtime (17386): Verursacht durch: java.security.NoSuchProviderException: keine solche Anbieter: Crypto
KeyGenerator kGen = KeyGenerator.getInstance ("AES"); SecureRandom sr = SecureRandom.getInstance ("SHA1PRNG", "Crypto"); sr.setSeed (Samen); kGen.init (128, sr); // 192 und 256 Bits sind möglicherweise nicht verfügbar SecretKey sKey = kGen.generateKey(); So erstelle ich SecretKey. – Ananth
Eine letzte Frage, Ich denke, ich ändere die Verschlüsselungs-/Entschlüsselungslogik und drücke ein App-Update auf alle vorhandenen Benutzer. Dann stürzt die App ab, wenn wir versuchen, bereits verschlüsselte Daten richtig zu entschlüsseln (Badpaddingexception)? Irgendeine Lösung, um dieses Problem zu verringern? – Ananth
@Ananth: "Jede Lösung, um dieses Problem zu verringern?" - Wie ich geschrieben habe, haben Sie einen Migrationspfad. Veröffentlichen Sie bald ein App-Update, das mit Ihrem alten Ansatz entschlüsselt und mit einem neuen Ansatz, der auf Android N funktioniert, für Benutzer, die auf diese neue App-Version upgraden (im Gegensatz zur erstmaligen Installation, neu) Ansatz). Mit etwas Glück werden alle das Update nehmen, bevor Android N ausgeliefert wird. – CommonsWare