Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 讨论:密码保管器Android应用程序的加密_Java_Android_Security_Encryption_Mobile - Fatal编程技术网

Java 讨论:密码保管器Android应用程序的加密

Java 讨论:密码保管器Android应用程序的加密,java,android,security,encryption,mobile,Java,Android,Security,Encryption,Mobile,前几天,谷歌通知我,我的Gmail帐户可能已经被泄露,因为它被两个IP地址从非正常的位置访问。由于我通常(而且愚蠢地)对每个网站使用相同的密码,我决定改变现状,使用不同的密码 作为一名Android开发人员,我决定开始开发一个密码保管器应用程序,我可以为它存储我的用户名和密码,因为很难记住不同的密码。我不想走捷径,下载现有的第三方密码保管器应用程序 这让我想到,在我的应用程序中保护用户名和密码的最佳方法是什么?目前,我需要密码来查看可以添加的帐户列表。我还将用户名和密码存储到数据库中。然而,An

前几天,谷歌通知我,我的Gmail帐户可能已经被泄露,因为它被两个IP地址从非正常的位置访问。由于我通常(而且愚蠢地)对每个网站使用相同的密码,我决定改变现状,使用不同的密码

作为一名Android开发人员,我决定开始开发一个密码保管器应用程序,我可以为它存储我的用户名和密码,因为很难记住不同的密码。我不想走捷径,下载现有的第三方密码保管器应用程序

这让我想到,在我的应用程序中保护用户名和密码的最佳方法是什么?目前,我需要密码来查看可以添加的帐户列表。我还将用户名和密码存储到数据库中。然而,Android似乎无法对数据库进行本机加密。我可以加密存储在数据库中的值,但是如果有人用我的手机,如果他们真的愿意,他们可以找到加密。或者,我可以使用一台服务器进行加密/解密,但是您有一台服务器需要维护,并且可能会受到威胁


我很想得到一些关于这个话题的意见。虽然我知道完美是不可能实现的,但对于我的Android应用程序来说,什么是一个好的实现方法呢?

每次用户想要添加/查看密码列表时,您肯定会要求用户提供PIN或密码,对吗?为什么不使用它作为加密密钥,这意味着如果有人得到你的手机,他们仍然无法在不知道用户定义密钥的情况下访问或解密密码。

看看这个应用程序,他们可能是市场上最好的密码保管器应用程序。他们的理念是,他们将您的所有密码存储在128位加密机后面,您可以使用1密码进入。除此之外,所有网站密码都是随机生成的字母数字字符串。所以实际上没有碰撞的机会,无论你在哪里浏览,你都是安全的

你不应该使用一个仅仅意味着人们可以假定他们的密码在某个地方的服务器,如果你是一个好的应用程序开发人员,服务器上的密码就像你在客户端存储密码一样安全

至于他们是否“真的想”找到加密,这实际上取决于用户选择一个密码,他们用这个密码为所有信息加密。是的,用蛮力破解加密是可能的,但是如果用户选择了一个非字典字母数字字符串,那么破解的可能性几乎是不可能的。此外,如果您正确加密所有内容,他们就不能“破坏”加密

因为我能坚持下去


Credits

是的,我要求用户定义默认PIN或密码。然而,我没有想过使用PIN/密码作为加密密钥。我喜欢这个主意。谢谢