【问题标题】:How do I test a password string in android java?如何在android java中测试密码字符串?
【发布时间】:2019-06-29 04:36:08
【问题描述】:

我正在做一个项目,目前正在测试简单的登录,但尚未考虑安全措施,我遇到了一个问题,我无法将密码输入与用户名相同的简单字符串进行比较。

我到处查看,但几乎只显示了安全措施,我只是想知道如何以更简单的方式执行此操作,类似于字符串比较。

edit - 它仍然是一个不稳定的程序,我只是在测试方法,我制作的功能是这个(葡萄牙语 btw):

public void login_try(View view) {

    //Obter o nome de utilizador e transformar em string
    TextView name = findViewById(R.id.name);
    String nome = name.getText().toString();

    //Obter a password e transformar em string
    TextView password = findViewById(R.id.name);
    String palavra_passe = password.getText().toString();

    //Testa o nome e a password para dar login
    if (nome.equals("Rubas") && palavra_passe.equals("123")) {

        Context context = getApplicationContext();
        CharSequence text = "Entrou com sucesso!!!!";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    } else {
        Context context = getApplicationContext();
        CharSequence text = "Login falhado :(";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();


    }
}

【问题讨论】:

  • 具体有什么区别?一些代码来说明问题也会有所帮助
  • 我希望密码在数据库中经过哈希处理,对提供的密码执行相同操作,然后比较(字符串比较)2 个哈希密码
  • 对不起,我更新了问题
  • 显示的是哪个吐司?
  • @Garikai 由于密码部分,目前只有第二个(失败)

标签: java android android-studio passwords


【解决方案1】:
TextView password = findViewById(R.id.name);

您说您的密码视图也是名称,这种类型的逻辑错误通过简单的调试非常容易发现;)

【讨论】:

    【解决方案2】:

    我确定问题出在密码TextField 分配上的findViewById(R.id.name);您可能应该将其更改为引用密码TextField(必须类似于TextField password = findViewById(R.id.password)

    【讨论】:

    • 谢谢,我当时头脑发热,完全超出了我的想象。
    • @rubas 碰巧的人,只要确保你对你的模块进行了彻底的审查,以发现这些简单的逻辑错误
    猜你喜欢
    • 2014-10-06
    • 1970-01-01
    • 2011-01-31
    • 2022-01-19
    • 2018-04-24
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    相关资源
    最近更新 更多