如何从手机通讯录中找到注册用户

问题描述 投票:1回答:3

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

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

我看到两个选择:

  1. 在寻找“朋友”时,将所有用户的联系人发送到服务器并将其与数据库中的注册用户列表进行比较(这感觉不太正确,我的意思是挖掘所有用户的联系人而不使用这些联系人'许可?),或
  2. 将所有用户从数据库下载到手机并在那里进行比较(这显然是不可能的)

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

[编辑]:谢谢你花时间回答,但到目前为止它并没有真正有用。我的意思是,显然我要加密这些东西:D

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

android ios react-native architecture contacts
3个回答
1
投票

除了前一个答案之外,最好使用SHA-256(在Java中你可以使用MessageDigest.getInstance("SHA-256").digest()包中的java.security)从地址簿中散列消毒的电话号码(如果在React Native中可用)。


1
投票

首先,在这两种情况下(1和2),您都必须要求您的用户获得访问联系簿的权限。

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

The first thing I googled.(Swift示例)但是您必须在文件中包含CommonCrypto。

如果需要的话,我相信你也能找到这种反应原生的算法。


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.