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);
}
}
}




복잡하게 하지마시고 shared preference 구글링 해보세요 간단한 키값 저장하는 방법 나옵니다.