Wenn Sie einen BigInteger mit einer Zeichenfolge erstellen, muss die Zeichenfolge als Dezimalzahl formatiert sein. Sie können keine Buchstaben verwenden, es sei denn, Sie geben im zweiten Argument eine Radix an. Sie können bis zu 36 im Radix angeben. In 36 erhalten Sie nur alphanumerische Zeichen [0-9, a-z]. Wenn Sie dies verwenden, haben Sie keine Formatierung. Sie können erstellen: neue BigInteger ("ihavenospaces", 36) Dann zurück zu konvertieren, verwenden Sie einen .toString (36)
ABER FORMATIERUNG ZU HALTEN: Verwenden Sie die byte [] Methode, die ein paar Leute erwähnt.Das wird die Daten mit Formatierung in die kleinste Größe packen und Ihnen ermöglichen, die Anzahl der Bytes leicht zu verfolgen
Das sollte perfekt für ein RSA Public Key Crypto System Beispielprogramm sein, vorausgesetzt, Sie behalten die Anzahl der Bytes in der Nachricht kleiner als die Anzahl von Bytes von PQ
(ich weiß, dieser Thread ist alt)
Wenn ich Ihre Kommentare Recht, Ihre msg verstehen, ist nicht unbedingt eine Nummer. Ich glaube, die meisten von uns glaubten, dass msg die Zeichenfolge ist, die eine Zahl repräsentiert (wie "12345"). Aber was Sie tun möchten, ist "Hallo" in eine Zahl zu konvertieren und in der Lage sein, die ursprüngliche Zeichenfolge erneut zu rekonstruieren. Ich frage mich, warum du das machen willst ... IMO-Konvertierung von String in BigInteger macht auf diese Weise nur Sinn, wenn du Berechnungen mit der resultierenden Zahl machen willst, aber es dann nicht sinnvoll wäre, sie zurück zu konvertieren. Was vermisse ich? – Axel
eigentlich mache ich ein Programm auf RSA-Kryptosystem und zu gegebener Zeit ich msg zu BigInteger konvertieren musste (während der Beschreibung) und wieder den umgekehrten Prozess während der Beschreibung.aber Sie sollten es beantworten, ohne den Grund zu wissen, warum ich tun, weil alles kann Das soll hier erklärt werden. – condinya