Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android firebase数据库路径中的令牌无效_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

android firebase数据库路径中的令牌无效

android firebase数据库路径中的令牌无效,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我对电子邮件进行了base64 utf-8编码。 因为它是一个数据库密钥。 然而,出现了以下问题。 我需要帮助 在/user/aW1hZ2VfNTk1NkBuYXZlci5jb20处设置值= 失败:数据库错误:路径中的令牌无效 databaseReference.child("user").child(util.getBase64encode(email)).setValue(userModel) 帮帮我…在我的例子中,编码字符串的末尾有一个新行。使用@Arvin在本文中提到的Base64.N

我对电子邮件进行了base64 utf-8编码。 因为它是一个数据库密钥。 然而,出现了以下问题。 我需要帮助

在/user/aW1hZ2VfNTk1NkBuYXZlci5jb20处设置值= 失败:数据库错误:路径中的令牌无效

databaseReference.child("user").child(util.getBase64encode(email)).setValue(userModel)

帮帮我…

在我的例子中,编码字符串的末尾有一个新行。使用@Arvin在本文中提到的
Base64.NO_WRAP
作为解决方案。我的编码函数现在看起来像:

public static String encodeToBase64(String strToEncode) {
    byte[] data = null;
    try {
        data = strToEncode.getBytes("UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return Base64.encodeToString(data, Base64.NO_WRAP);
}

如果你的目标是像上面评论中提到的@BobSnyder那样安全,你仍然可以使用
URL\u safe
并修剪字符串以确保安全。

记录base64加密的电子邮件,并在你的数据库中为我检查是否相同:在Firebase令牌中不允许写入斜杠字符/。许多Base64编码使用“/”。您使用的Base64编码器是否不产生/。例如