EditText에 제가 비밀번호를 입력하게 하도록 했습니다.

그래서 입력된 비밀번호를 저장해서 암호처리 및 해시함수 처리를 해야하는데

이 부분에서 널익셉션이 발생해가지고 지금 못하고 있습니다.

어떻게 하면 제가 EditText에 입력한 비밀번호를 저장할 수 있는 방법이 없을까요?

 

패스워드 입력 부분

Button enBtn = (Button)findViewById(R.id.btn_encrypt);
        enBtn.setOnClickListener(new Button.OnClickListener(){

   @Override
   public void onClick(View v)
   {
    final LinearLayout linear = (LinearLayout)View.inflate(Edit.this, R.layout.keydialog2, null);
    AlertDialog.Builder input = new AlertDialog.Builder(Edit.this);
    input.setTitle("Notification");
    input.setView(linear);
    input.setMessage("Input your key");
    input.setPositiveButton("OK", new DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which)
     {
      EditText mUserText = (EditText)linear.findViewById(R.id.trueyourKey);
      password = mUserText.getText().toString();
      KeyCode = stringToByte(password);
      KeyManage.saveHashPass(KeyCode);   (널포인터 예외 발생)
      
     }
    }).show();
   }
         
        });
    }

 

Edit.java의 입력된 패스워드를 키로 하여 초기화

//해시 처리 전 입력한 패스워드를 HIGHT의 키로 초기화
    public static void initKey(byte[] pass)
    {
     for(int i=0;i<pass.length;i++)
     {
      key[i] = pass[i];
     }
    }

 

 

에디트 텍스트로 부터 받은 패스워드 값을 처리하는 부분(KeyManage.java)

package org.memo.pkg;

import org.kisa.*;

public class KeyManage
{
 static{
  System.loadLibrary("KISACrypto");
 }
 
 //variables
 public static byte[] input;
 public static byte[] output;
 public static byte[] currentInput;
 public static byte[] currentOutput;
  
 //method
 //1.encryption -> make key hashFunction

에디트텍스트로부터 받은 값을  여기서 처리해야 함.
 public static void saveHashPass(byte[] pass)  (예외)
 {
  //inputKey initial
  for(int i=0;i<pass.length;i++)
  {
   input[i] = pass[i];
  }
  output = new byte[20];
  HAS160 has160 = new HAS160();
  has160.init();
  has160.update(input, input.length);
  has160.doFinal(output);
  Edit.initKey(pass);
 }
 }
 
 
 
}