在Swift中从哪里获取Realm App的加密密钥

时间:2016-10-26 04:53:14

标签: realm realm-mobile-platform realm-browser

我有一个Swift应用程序,它使用在Linux服务器上远程运行的Realm Object Server。一切正常,包括实时同步。

偶尔我想检查iOS模拟器使用的本地Realm文件的内容,以便我可以进行一些调试。当我在这里浏览时:

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

...我尝试打开此文件:realm%3A%2F%2F104%2E236%2E129%2E235%3A9080%2F%7E%2Fmyapp.realm

我收到提示:请输入此Realm文件的有效加密密钥。 enter image description here 我从哪里获得此加密密钥?我尝试使用服务器上的管理员令牌,但这看起来并没有起作用。

另外,我可以在任何地方关闭加密吗?或者对于使用Realm Object Server的任何应用程序是强制性的吗?

4 个答案:

答案 0 :(得分:5)

无法使用浏览器(或其他任何内容)打开同步Realm文件的本地版本。这是由于内部不同的历史类型(但我现在不会进入)。为了检查Realm文件的内容,您必须使用先前定义的syncURL打开它。然后,浏览器将下载文件并显示内容。

关于此主题的一些链接:

答案 1 :(得分:1)

您可以使用Realm Browser的旧版本,请更新它并再次检查结果。

答案 2 :(得分:0)

使用Realm Studio代替它对我有用。

Here can download the file

答案 3 :(得分:-1)

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()方法:How to convert a byte array to a hex string in Java?