2015-09-14 2 views
0

Я пытаюсь создать простую программу для Android для генерации хэша MD5 из строки из TextBox/EditView и кнопки. Моя контрольная сумма MD5 андроидная программа, к сожалению, остановилась. Я пробовал много способов получить хэш MD5 из этой строки, но никогда не добился успеха. Вот мой код.Ошибка контрольной суммы Hash 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(); 
     } 

    } 
+0

Поместите свой логарифм ... Вероятно, у него будет исключение, и это подробности ... – Codebender

ответ

0

Вы вызываете getBytes() метод EditText: digest.update(editText1.getBytes());

Я думаю, вы должны предоставить текстовое значение редактирования текста здесь т.д .:

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

, то он должен работать.

+0

Метод getText() не определен для типа String – user3535589

+0

Также я сделал это. final String EditText1 = editText1.getText(). ToString(); – user3535589

+0

, тогда отправляйте logcat здесь. –

Смежные вопросы