Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 校验和哈希MD5程序错误_Java_Android_Md5 - Fatal编程技术网

Java 校验和哈希MD5程序错误

Java 校验和哈希MD5程序错误,java,android,md5,Java,Android,Md5,我尝试为Android制作一个简单的应用程序,通过TextBox/EditView中的字符串和按钮生成哈希MD5。我的校验和MD5 android程序不幸停止。我尝试了很多方法从该字符串获取MD5哈希,但从未成功。这是我的密码 public class MainActivity extends Activity { private static final String TAG = "MD5"; //private TextView textView_hasil; @

我尝试为Android制作一个简单的应用程序,通过TextBox/EditView中的字符串和按钮生成哈希MD5。我的校验和MD5 android程序不幸停止。我尝试了很多方法从该字符串获取MD5哈希,但从未成功。这是我的密码

public class MainActivity extends Activity {

    private static final String TAG = "MD5";
    //private TextView textView_hasil;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button1 = (Button)findViewById(R.id.button1);
        Button button2 = (Button)findViewById(R.id.button2);
        final EditText editText1 = (EditText)findViewById(R.id.editText1);
        final TextView textView3 = (TextView)findViewById(R.id.textView3);
        final String   EditText1 = editText1.getText().toString();


        button1.setOnClickListener(new OnClickListener()
        {


            @Override
            public void onClick(View v)
            {
               hitungMD5(EditText1);
            }
        });

        button2.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                editText1.setText("");
                textView3.setText("");
            }
        });

    }

    public void hitungMD5(String editText1) {
        // TODO Auto-generated method stub

        try {
            // Create MD5 Hash
            MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
            digest.reset();
            digest.update(editText1.getBytes());
            byte messageDigest[] = digest.digest();

            // Create Hex String
            StringBuffer MD5Hash = new StringBuffer();
            for (int i = 0; i < messageDigest.length; i++) {
                MD5Hash.append(Integer.toHexString(0xFF & messageDigest[i]));
            }
            TextView textView3 = null;
            textView3.setText(MD5Hash);


        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }

    }
您正在调用editText的getBytes方法:digest.UpdateDittext1.getBytes

我认为您应该在此处提供编辑文本的文本值,例如:

digest.update(editText1.getText().getBytes());

然后它应该会工作。

把你的日志放在。。。它很可能会有一个异常和它的细节…getText方法对于StringType是未定义的,我也这样做了。最终字符串EditText1=EditText1.getText.toString;然后在这里张贴日志。