Pre*_*all 13 security encryption hash privileges cryptography
我目前正在开发一个我们收到私人健康信息的应用程序.其中一个最大的问题是SSN.目前,我们不会将SSN用于任何事情,但将来我们希望能够使用它来跨多个设施唯一地识别患者.我可以看到可靠的唯一方法是通过SSN.但是,我们(除了我们的客户)真的不想存储SSN.
很自然地,我想只是SHA哈希它,因为我们只是用它来识别.问题在于,如果攻击者知道问题域(SSN),那么他们可以专注于该域.因此,计算十亿个SSN而不是几乎无限数量的密码要容易得多.我知道我应该使用站点盐和每个患者的盐,但是我还能做些什么来防止攻击者暴露SSN?而不是SHA,我计划使用BCrypt,因为Ruby有一个很好的库,它可以自动处理可扩展的复杂性和盐析.
它不会被用作密码.从本质上讲,我们从许多设施获取信息,每个设施都描述一名患者.唯一接近患者全球唯一标识符的是SSN号码.我们将使用哈希来识别多个设施中的同一患者.
如果您确实想以安全的方式对社会安全号码进行哈希处理,请执行以下操作:
结果: