Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Email Firebase自定义身份验证,使用电子邮件地址的SHA256生成uid_Email_Hash_Firebase_Sha256 - Fatal编程技术网

Email Firebase自定义身份验证,使用电子邮件地址的SHA256生成uid

Email Firebase自定义身份验证,使用电子邮件地址的SHA256生成uid,email,hash,firebase,sha256,Email,Hash,Firebase,Sha256,我正在我的一个应用程序中使用Firebase的自定义身份验证。我通过用户电子邮件地址的SHA256哈希生成用户的uid 我的问题是,这有多安全?我需要担心碰撞吗?原因如果发生冲突,它会将完整的帐户访问权授予另一个电子邮件哈希相同的用户 如果这不安全,请任何人向我推荐一种从电子邮件地址生成唯一字符串的方法,该方法不会产生冲突?您的问题是“与SHA256电子邮件地址哈希冲突的可能性有多大?”当您进行哈希时,始终会有冲突的可能性,因为这是其目的的一部分。您可能希望加密电子邮件地址,例如使用DES。当用

我正在我的一个应用程序中使用Firebase的自定义身份验证。我通过用户电子邮件地址的SHA256哈希生成用户的uid

我的问题是,这有多安全?我需要担心碰撞吗?原因如果发生冲突,它会将完整的帐户访问权授予另一个电子邮件哈希相同的用户


如果这不安全,请任何人向我推荐一种从电子邮件地址生成唯一字符串的方法,该方法不会产生冲突?

您的问题是“与SHA256电子邮件地址哈希冲突的可能性有多大?”当您进行哈希时,始终会有冲突的可能性,因为这是其目的的一部分。您可能希望加密电子邮件地址,例如使用DES。当用户更改其电子邮件地址时,您将如何处理它?用户A以user11@test,然后更改为user1@test. 然后用户B向users11@test. 你想要一个基于电子邮件地址的uid有什么用途?@Anti-weakpasswords我不允许用户更改他们的电子邮件。每个帐户将有一个主电子邮件,如果他们想使用其他电子邮件,然后创建另一个帐户。其次,我使用电子邮件哈希,因为如果多个社交提供商的电子邮件相同,那么他们可以更轻松地登录到同一个帐户。base64编码加密字符串不会产生冲突,因为加密和base64都是无损转换。加密的目的是使有意义的字符串看起来像随机乱码,不是吗?;-)否则,为什么不使用电子邮件地址作为id(用逗号替换点)?