【问题标题】:How to store the key used to encrypt files in android by using AES algorithm如何使用AES算法在android中存储用于加密文件的密钥
【发布时间】:2012-10-21 02:38:56
【问题描述】:

我尝试使用 AES 算法为 android 开发一个加密应用程序,我应该将密钥存储在哪里。这个想法是用户提供密码并生成密钥。我怎样才能更安全地执行此过程。提前感谢

【问题讨论】:

    标签: java android security encryption aes


    【解决方案1】:

    我尝试使用 AES 算法为 android 开发一个加密应用程序,我应该将密钥存储在哪里。这个想法是用户提供密码并生成密钥

    然后你不存储密钥。当用户提供密码(用于初始加密或稍后解密)时,您可以根据密码生成密钥。

    【讨论】:

    • 问题:PBKDF2生成的密钥如果以后想用来解密怎么办?
    • @JoePlante:我怀疑您将评论附加到错误的答案中。
    • 啊,我在想另一种情况
    【解决方案2】:

    正如@CommonWare 所指出的,您应该从密码生成一个密钥。正确的方法是使用 PBKDF2 算法和盐 (*)。还有其他好的算法,例如 bcrypt 和 scrypt,但 PBKDF2 是最成熟的标准。对于 Android 实现,请参阅PBKDF2 function in Android

    (*) salt 是一个随机数,是 PBKDF2 算法的一部分。这种盐不是秘密;你可以以任何你喜欢的方式存储它。但是您需要跟踪它以供以后解密。通常,您在存储时将盐与 CBC 使用的随机 IV 一起添加到密文中。

    【讨论】:

      猜你喜欢
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      相关资源
      最近更新 更多