package com.example.ilililililil;

import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity { public static Encoder encoder; public static MainActivity mainActivity;

/* access modifiers changed from: protected */
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView((int) R.layout.activity_main);
    encoder = new Encoder();
    mainActivity = this;
    ((Button) findViewById(R.id.button)).setOnClickListener(new View.OnClickListener((EditText) findViewById(R.id.edit_text)) {
        public final /* synthetic */ EditText f$1;

        {
            this.f$1 = r2;
        }

        public final void onClick(View view) {
            MainActivity.this.lambda$onCreate$0$MainActivity(this.f$1, view);
        }
    });
}

public /* synthetic */ void lambda$onCreate$0$MainActivity(EditText editText, View view) {
    System.out.println(encoder.encode(editText.getText().toString()));
    if (encoder.encode(editText.getText().toString()).equals('棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌')) {
        Toast.makeText(this, 'YES', 0).show();
    } else {
        Toast.makeText(this, 'NO', 0).show();
    }
}

} package com.example.ilililililil;

public class Encoder { private int key = 123456789;

public String encode(String str) {
    StringBuilder sb = new StringBuilder();
    for (char c : str.toCharArray()) {
        sb.append((char) (c ^ this.key));
    }
    return sb.toString();
}

}'}

解题思路:

  1. 分析代码: 观察代码结构,发现MainActivity 类负责界面交互,Encoder 类负责加密操作。2. 理解加密算法: 代码中使用的加密算法是简单的异或运算,将每个字符与密钥进行异或操作。3. 寻找密钥: 代码中明确给出了密钥为 123456789。4. 反向解密: 通过反向解密,将目标字符串 '棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌' 与密钥进行异或运算,即可得到原始字符串。

**解题代码:**javapublic class Decoder { private int key = 123456789;

public String decode(String encodedStr) {        StringBuilder sb = new StringBuilder();        for (char c : encodedStr.toCharArray()) {            sb.append((char) (c ^ key));        }        return sb.toString();    }

public static void main(String[] args) {        Decoder decoder = new Decoder();        String encodedStr = '棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌';        String originalStr = decoder.decode(encodedStr);        System.out.println('原始字符串: ' + originalStr);
Android 加密应用 - 寻找隐藏的密码

原文地址: https://www.cveoy.top/t/topic/pWRH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录