2016-07-28 5 views
-2

Ich brauche einige Vorschläge zu unten genannten Java-Anweisung._cipher.doFinal() verhält sich unter Windows und Linux anders

String strCipherStr = 
    new String_cipher.doFinal(
     Base64.decodeBase64(
      encryptedStr.getBytes("UTF-8"))), "UTF-8"); 

Diese Anweisung gibt unterschiedliche Ausgabe unter Windows und Linux. Unter Windows gibt es Fehler javax.crypto.BadPaddingException und in Linux keine Ausnahme. Ich habe JCE überprüft, aber die Version ist in beiden Umgebungen identisch.

Schätzen Sie Ihre Hilfe!

+1

Dieser Code wird nicht kompiliert. Und was ist 'String_cipher'? – EJP

+0

javax.crypto.Cipher Diese Klasse bietet die Funktionalität einer kryptografischen Chiffre für die Verschlüsselung und Entschlüsselung. Es bildet den Kern des JCE-Frameworks (Java Cryptographic Extension). – Mahendra

Antwort

0

Ich würde Ihre CLASSPATH Umgebungsvariableneinstellungen betrachten; Das Paket javax.crypto ist unter Windows möglicherweise nicht an der richtigen Stelle.

+0

Ich brauche die gleiche Ausnahme auf beiden Umgebungen, weil - ich versuche, Testfall zu implementieren, um leere Zeichenfolge zu entschlüsseln. String dstr = _decrypter.decrypt (""); – Mahendra