我在Android(v2.2 API 8)中编写了以下代码,其中输入了纯文本,代码使用用户密码和随机盐对其进行加密,然后对其进行解密.运行代码后,我只能获得正确文本的一部分.例如,用户输入"Msg 1.5 to encrypt",解密代码的结果为"Msg15toencrypg =="
这是代码:
private EditText plain_msg;
private EditText pwd;
private TextView result;
byte[] iv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
plain_msg = (EditText)findViewById(R.id.msg2encypt);
pwd = (EditText)findViewById(R.id.password);
result = (TextView)findViewById(R.id.decrypttxt);
}
public void mybuttonHandler(View view){
String S_plain_msg = plain_msg.getText().toString();
String S_pwd = pwd.getText().toString();
setAES(S_plain_msg, S_pwd);
}
private byte[] generateSalt() throws NoSuchAlgorithmException{
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
byte[] ransalt = new byte[20];
random.nextBytes(ransalt);
return ransalt;
}
private void setAES(String msg, String pwd){
try {
//Generation of …
Run Code Online (Sandbox Code Playgroud)Run Code Online (Sandbox Code Playgroud)