【问题标题】:Encrypt/decrypt password in Sqlite (Android)在 Sqlite (Android) 中加密/解密密码
【发布时间】:2014-10-17 03:48:11
【问题描述】:

在开发将某些用户日期存储到 sqlite 数据库中的 Android 应用程序时,我应该如何安全地处理用户密码?如何加密密码,使其不会在数据库中“明文”显示,但我可以在需要时在应用程序中对其进行解密。

【问题讨论】:

  • 见彼得古特曼的Engineering Security。我相信第 7 章会处理用户密码。除了简单地散列它们或简单地加盐等等之外,它还有很多。

标签: android eclipse sqlite passwords


【解决方案1】:

最好的方法是存储密码的SHA-2(或某种其他类型的哈希),然后比较这些哈希而不是实际解密的密码。

存储密码是一种不好的做法,即使它们被加密也不安全。记住,一切都可能被打破。你能做的最好的事情就是让黑客更难做。

【讨论】:

  • MD5 应被视为密码损坏且不适合使用。而是使用 Bcrypt 之类的东西。
  • @ydaetskcoR 同意 MD5 是一个坏例子。感谢您的链接。
  • 或 SHA(如 SHA-2 或 SHA-3)。
【解决方案2】:

在数据库中存储用户凭据会带来许多安全挑战。您可能需要考虑替代方案(例如,使用 OAuth 2.0 Authentication)。我们不需要另一个存在安全漏洞的 Android 应用程序。这是来自 Google 的 OAuth 2.0 Authentication 的参考。

虽然许多人确实使用的一种替代方法是使用SHA-1 之类的算法“散列”用户名和密码(MD5 有一些漏洞,但也经常使用)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2012-10-03
    • 2020-11-10
    相关资源
    最近更新 更多