Wie konvertieren von BigInteger, String?
Ich entschlüsselte Daten-und bekam eine BigInt, und als ich versuchte, es zu konvertieren zu einem string habe ich einige WLAN-Zeichen.
Code für das abrufen von BigInteger
BigInteger dec = process.Decrypt(sec);
Code für die erste ByteArray
byte testBy[] = dec.toByteArray();
Code für die Konvertierung in String
String ss = new String(testBy);
System.out.println(ss);
und ich habe versucht, diesen code zu
String ss = new String(testBy);
System.out.println(ss, "UTF8");
Ich bekomme diese Ausgabe
=^ö½ß‡k+Éæ‚ûŽ3B‚+…Òæ?&¶?kÛUô—c
Helfen mir hier..
tutorialspoint.com/java/math/biginteger_tostring_radix.htm
warum müssen Sie die byte-array? Verwenden Sie einfach BigInteger.toString () - Methode
Ziemlich sicher, dass es keine
Was ist
Ich versuche eine Entschlüsselung der verschlüsselten Daten ist hier der code return c.modPow(lambda, nsquare).subtract(BigInteger.EINS).divide(n).multiply(u).mod(n);
warum müssen Sie die byte-array? Verwenden Sie einfach BigInteger.toString () - Methode
Ziemlich sicher, dass es keine
println(String, String)
Methode. Auch String ss = new String(testBy, "UTF-8");
akzeptabel wäre.Was ist
process.Decrypt
? Sicher, es gibt eine BigInteger
, aber wenn es soll halt ein String
wir brauchen mehr Informationen darüber, wie diese Methode tatsächlich speichert Daten innerhalb der BigInteger
. Überprüfen Sie die API-Dokumentation.Ich versuche eine Entschlüsselung der verschlüsselten Daten ist hier der code return c.modPow(lambda, nsquare).subtract(BigInteger.EINS).divide(n).multiply(u).mod(n);
InformationsquelleAutor SHiv | 2014-02-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
BigInteger hat eine
toString()
Methode gibt, die eine decimal-string-Repräsentation des Wertes.also, wie kann ich konvertieren, dass bigInt zum ursprünglichen text. ich meine entschlüsselte text
Sivashankar, fragte Sie Ihre Frage falsch. dies ist eindeutig ein XY-problem hier. Sie wollen keine
String
für die Anzahl, dieBigInteger
hält. Sie möchten, dass der text entschlüsselt. Und die Antwort ist, wir können dir nicht helfen ohne zu wissen, Ihre Bibliothek (es gibt eine Unmenge von Möglichkeiten, in denen die entschlüsselten Daten gespeichert werden können, innerhalb derBigInteger
, plus weitere Unmenge Dinge, dass die Daten wirklich sein können).lassen Sie mich in einem anderen Weg, wenn ich eine kleine Datei mit Daten der obige code funktioniert einwandfrei, aber wenn ich gab eine große Daten-Datei, es zeigt, dass die Ausgabe oben. Große bedeutet, nur eine 20 Kb-Datei.
Wir können immer noch nicht helfen, Sivas. Der Punkt ist, Sie Fragen nach spezifischen details der Implementierung, von der wir nichts wissen. Es kann ein Fehler sein, es kann etwas fehlen, oder Sie kann so konzipiert werden, dass der Weg - den wir nicht kennen. Wenn dies ist der code, den Sie besitzen, Debuggen Sie die Verschlüsselung Prozess; wenn es eine Bibliothek ist, Lesen Sie dessen Dokumentation. Wenn es ist eine beliebte / bekannte Kryptographie-Bibliothek eine neue Frage über das "Wie kann ich meine Datei entschlüsseln mit Bibliothek XXX" und der Bereitstellung von relevanten Informationen darüber, wie Sie Sie verschlüsselt haben.
InformationsquelleAutor Don Roby
Einen Anruf zu
System.out.println(dec)
sollte drucken Sie die dezimale Darstellung derdec
richtig.So stellen Sie einfach sicher, dass
BigInteger dec = process.Decrypt(sec)
liefert das erwartete Ergebnis.InformationsquelleAutor barak manos
toString()
Methode convert BigInteger, String.Tatsächlich setzt es die Objekt-Methode toString ().Oder direkt übergeben BigInteger-Objekt-System.aus.println() println weil bydefault dauert Objekt.toString().InformationsquelleAutor Devavrata