android firebase数据库路径中的令牌无效
我对电子邮件进行了base64 utf-8编码。 因为它是一个数据库密钥。 然而,出现了以下问题。 我需要帮助 在/user/aW1hZ2VfNTk1NkBuYXZlci5jb20处设置值= 失败:数据库错误:路径中的令牌无效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
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编码器是否不产生/。例如