Android 在aws dynamoDB中保存密码的最佳方法

Android 在aws dynamoDB中保存密码的最佳方法,android,amazon-web-services,amazon-dynamodb,password-encryption,Android,Amazon Web Services,Amazon Dynamodb,Password Encryption,我正在使用amazon dynamodb服务开发android应用程序 由于我必须保存用户基本信息和密码,因此请告诉我在dynamodb中保存密码的最佳方法是什么?不建议在DyanmoDB中以纯文本形式保存未加密的敏感信息。您可以使用AWS KMS加密密码,并将加密文本存储在DynamoDB中 作为替代选项,您可以查看是否可以将AWS Cognito用户池用于用户身份存储(不确定这是否适用于您的用例)。不建议在DyanmoDB中以纯文本形式保存未加密的敏感信息。您可以使用AWS KMS加密密码,

我正在使用amazon dynamodb服务开发android应用程序


由于我必须保存用户基本信息和密码,因此请告诉我在dynamodb中保存密码的最佳方法是什么?

不建议在DyanmoDB中以纯文本形式保存未加密的敏感信息。您可以使用AWS KMS加密密码,并将加密文本存储在DynamoDB中


作为替代选项,您可以查看是否可以将AWS Cognito用户池用于用户身份存储(不确定这是否适用于您的用例)。

不建议在DyanmoDB中以纯文本形式保存未加密的敏感信息。您可以使用AWS KMS加密密码,并将加密文本存储在DynamoDB中


作为替代选项,您可以查看是否可以使用AWS Cognito用户池来存储用户身份(不确定这是否适用于您的用例)。

不要保存密码。不要保存密码的加密版本。保存SHA-256或SHA-512版本的密码。当用户登录时,将尝试的密码转换为相同的SHA-256或SHA-512值,并使用该值检查数据库中的内容

还有其他更安全的散列,例如PBKDF2或ScRyPT,你可以考虑那些而不是SAHASH,它们每年更容易破解。 为什么不加密密码?如果有人控制了你的数据库并强行使用你的加密方案,他们现在拥有你的所有密码。根据部分数据(如用户id)向密码中添加salt会有所帮助,但有决心的用户也可以解决这个问题

如果用户忘记了密码,请使用他们的电子邮件地址和/或电话号码,并向他们发送一个重置链接,该链接将在15分钟后过期,或者类似的内容


请记住对所有内容都使用https,不要通过http传输密码哈希。

不要保存密码。不要保存密码的加密版本。保存SHA-256或SHA-512版本的密码。当用户登录时,将尝试的密码转换为相同的SHA-256或SHA-512值,并使用该值检查数据库中的内容

还有其他更安全的散列,例如PBKDF2或ScRyPT,你可以考虑那些而不是SAHASH,它们每年更容易破解。 为什么不加密密码?如果有人控制了你的数据库并强行使用你的加密方案,他们现在拥有你的所有密码。根据部分数据(如用户id)向密码中添加salt会有所帮助,但有决心的用户也可以解决这个问题

如果用户忘记了密码,请使用他们的电子邮件地址和/或电话号码,并向他们发送一个重置链接,该链接将在15分钟后过期,或者类似的内容


请记住对所有内容都使用https,千万不要通过http传输密码哈希。

谢谢你的回答,我想AWS KMS对我有用。这只在java中可用,对吗?不在obj c中。我的应用程序支持这两个平台,所以我需要在这两个平台上都能工作的解决方案。谢谢你的回答,我想AWS KMS会适合我。这只在java中可用,对吗?不在obj c中。我的应用程序支持这两个平台,所以我需要在这两个平台上都能工作的解决方案。