如何从电话联系人中查找注册用户



我正在编写一个简单的应用程序(在 React Native 中,但这应该不会有什么区别),用户可以在其中注册,然后查看也已注册的电话联系人列表。它基本上连接了彼此保存在手机中的用户,类似于Whatsapp。

我的问题是,我该怎么做?

我看到两个选项:

  1. 在寻找"朋友"时,将所有用户的联系人发送到服务器,并在那里将它们与数据库中的注册用户列表进行比较(这感觉不太对,我的意思是在未经这些联系人许可的情况下挖掘所有用户的联系人?),或者

  2. 将所有用户从数据库下载到手机并在那里进行比较(这显然是不可能的)

有没有我没有想到的第三种方式?

[编辑]:感谢您抽出宝贵时间回答,但到目前为止,这并不是那么有用。我的意思是,显然我要加密这些东西:D

我想知道是否有第三种我没有想到的方法来构建它。谢谢!

除了前一个答案之外,如果 React Native 中可用,也许最好使用 SHA-256(在 Java 中,您将使用java.security包中的MessageDigest.getInstance("SHA-256").digest())来散列地址簿中净化的电话号码。

首先,在这两种情况下(1和2),您都必须向用户请求访问通讯录的权限。

作为与第一个选项相结合的第三种选择,如果您的用户的隐私与您有关(可能应该),您可以在电话号码上使用 MD5 或 SHA1(您命名的任何哈希算法)算法并使用结果而不是真实的电话号码。对于每个唯一的电话号码,它们都是唯一的,并且无法解码回电话号码本身。

我用谷歌搜索的第一件事。(斯威夫特示例)但是您必须在文件中包含一个CommonCrypto。

我相信如果需要,您也可以找到用于本机反应的这种算法。

我使用"react-native-contacts"做了类似的事情,你可以在这里找到更多关于它的信息:https://github.com/rt2zz/react-native-contacts

集成 react-native-contacts后,您将能够读取存储在用户设备上的所有联系人,然后您可以尝试将它们发布到具有 . 与特定用户联系人匹配的功能。

正如T. Pasichnyk和Norbert所说,您应该采取必要的措施来保护用户的数据。

最新更新