我正在编写一个简单的应用程序(在React Native中,但这应该没有什么区别)用户可以注册,然后查看他们已经注册的手机联系人列表。它基本上连接了彼此保存在手机中的用户,类似于Whatsapp。
我的问题是,我该怎么做?
我看到两个选择:
有没有第三种方式我没想到?
[编辑]:谢谢你花时间回答,但到目前为止它并没有真正有用。我的意思是,显然我要加密这些东西:D
我想知道是否有第三种方法来构建我没有想到的。谢谢!
除了前一个答案之外,最好使用SHA-256(在Java中你可以使用MessageDigest.getInstance("SHA-256").digest()
包中的java.security
)从地址簿中散列消毒的电话号码(如果在React Native中可用)。
首先,在这两种情况下(1和2),您都必须要求您的用户获得访问联系簿的权限。
作为与第一个结合使用的第三个选项,如果用户的隐私问题(可能应该),您可以在电话号码上使用MD5或SHA1(任何哈希算法,您可以命名)algos并使用结果而不是真实的电话号码。它们对于每个唯一的电话号码都是唯一的,并且无法解码回电话号码本身。
The first thing I googled.(Swift示例)但是您必须在文件中包含CommonCrypto。
如果需要的话,我相信你也能找到这种反应原生的算法。
我使用“react-native-contacts”做了类似的事情,你可以在这里找到更多关于它的信息:https://github.com/rt2zz/react-native-contacts
一旦您集成了react-native-contacts,您就可以阅读存储在用户设备上的所有联系人,然后您可以尝试将它们发布到您的后端。与特定用户联系人匹配的功能。
如T. Pasichnyk和Norbert所述,您应采取必要措施来保护用户的数据