2016-10-26 7 views
4

Ich habe eine Swift-App, die den Realm Object Server verwendet, der remote auf einem Linux-Server läuft. Alles funktioniert, einschließlich Echtzeit-Synchronisierung.Wo bekomme ich den Verschlüsselungsschlüssel für Realm App in Swift

Gelegentlich möchte ich den Inhalt einer lokalen Realm-Datei untersuchen, die vom iOS-Simulator verwendet wird, damit ich etwas debuggen kann. Wenn ich hier zu sehen:

~/.../CoreSimulator/.../Documents/realm-object-server/<unique id>/ 

... und ich versuche, diese Datei zu öffnen: realm%3A%2F%2F104%2E236%2E129%2E235%3A9080%2F%7E%2Fmyapp.realm

ich mit bekommen Aufforderung: Bitte geben Sie für diese Realm-Datei einen gültigen Verschlüsselungsschlüssel. enter image description here Woher bekomme ich diesen Verschlüsselungsschlüssel? Ich habe versucht, das Admin-Token vom Server zu verwenden, aber das scheint nicht zu funktionieren.

Kann ich die Verschlüsselung auch überall ausschalten? Oder ist es obligatorisch für jede App, die den Realm Object Server verwendet?

Antwort

5

Es ist nicht möglich, die lokale Version einer synchronisierten Realm-Datei mit dem Browser (oder irgendetwas anderem) zu öffnen. Dies liegt an unterschiedlichen Verlaufstypen intern (aber darauf werde ich jetzt nicht eingehen). Um den Inhalt der Realm-Datei zu überprüfen, müssen Sie sie mit der zuvor definierten Nummer syncURL öffnen. Der Browser wird dann die Datei herunterladen und Ihnen den Inhalt zeigen.

Ein paar Links zu diesem Thema:

0
byte[] key = new byte[64]; 
new SecureRandom().nextBytes(key); 
String encryptionKey = byteArrayToHexString(key); 
//encryptionKey is what you want byteArrayToHexString see 
Log.d("test", "encryptionKey:"+encryptionKey); 

byteArrayToHexString() -Methode können Sie sehen: How to convert a byte array to a hex string in Java?

+0

Hallo, könnten Sie bitte etwas erweitern? Haben Sie zum Beispiel eine Quelle? –

+0

Byte [] Schlüssel = neues Byte [64]; neues SecureRandom(). NextBytes (Schlüssel); Zeichenfolge encryptionKey = byteArrayToHexString (Schlüssel); Log.d ("test", "encryptionKey:" + encryptionKey); // encryptionKey ist was Sie wollen byteArrayToHexString siehe http://stackoverflow.com/questions/9655181/how-to-convert-a-byte- Array-zu-Hex-String-in-Java –

+0

Ok, bitte [bearbeiten] Sie Ihre Antwort und fügen Sie sie dort hinzu. Kommentare sind kein guter Ort, um Code hinzuzufügen, da sie keine Formatierung unterstützen und gemäß den Regeln der Website jederzeit gelöscht werden können. Vielen Dank! –

1

Sie alte Version verwenden, können von Realm Browser, bitte pdate es und überprüfe das Ergebnis erneut.

Verwandte Themen