小编dvv*_*dvv的帖子

在Android中使用AES/CBC/PKCS5Padding进行不正确的解密

我在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)

eclipse android aes

5
推荐指数
1
解决办法
3449
查看次数

标签 统计

aes ×1

android ×1

eclipse ×1