Encryption 我应该存储加密的openid吗?

Encryption 我应该存储加密的openid吗?,encryption,openid,Encryption,Openid,当存储在数据库中时,用户的OpenID是否需要加密?如果有人有普通视图访问权限,他们会冒充该用户吗?声明的id很像用户名。它根据用户的提供者识别用户 因此,如果有人获得了对所声明的_id的访问权,则不可能冒充该用户,除非攻击者还拥有密码,或者用户已经登录到攻击者的系统(或者攻击者能够以其他方式破坏登录过程) 因此,您可以将其视为用户名;加密不是必需的,但知道它作为额外的安全层存在,您可能会感觉更好 但是,如果有人直接访问您的数据库,他们很可能会通过其他方式破坏您的整个网站。如果我使用没有任何密钥

当存储在数据库中时,用户的OpenID是否需要加密?如果有人有普通视图访问权限,他们会冒充该用户吗?

声明的id很像用户名。它根据用户的提供者识别用户

因此,如果有人获得了对所声明的_id的访问权,则不可能冒充该用户,除非攻击者还拥有密码,或者用户已经登录到攻击者的系统(或者攻击者能够以其他方式破坏登录过程)

因此,您可以将其视为用户名;加密不是必需的,但知道它作为额外的安全层存在,您可能会感觉更好


但是,如果有人直接访问您的数据库,他们很可能会通过其他方式破坏您的整个网站。

如果我使用没有任何密钥的Sha256散列一个值,那么获取该值或产生冲突不是需要很长时间吗?这应该是相当安全的。@möter:嗯,是的,我没有考虑散列,只考虑加密。这是一个很好的观点!我将删除关于攻击者在访问您的服务器时可能能够反向加密的部分,但是如果攻击者访问您的服务器,您可能仍然会遇到更大的问题;-)这绝对是我首先要避免的事情:D@möter–如果您根据用户声明的ID的哈希值登录用户,攻击者可能会试图找到与他控制的声明ID的哈希冲突。这将允许他在不影响您的站点或用户的OpenID提供程序的情况下模拟用户。@möter–用户可以输入一个短URL,重定向到其声明的ID或XRI,但最终你得到了标准化的声明ID。我只是说当你找到相关的用户帐户时你用它做了什么:将它与数据库中声明的ID进行比较——很好,将其哈希值与声明的ID哈希值进行比较——不确定。