Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java Android中编程Xor计算器十六进制?_Java_Android_Encryption_Xor - Fatal编程技术网

如何在java Android中编程Xor计算器十六进制?

如何在java Android中编程Xor计算器十六进制?,java,android,encryption,xor,Java,Android,Encryption,Xor,如何在Java中为十六进制(以16为基数)编程Xor计算器,如下图所示的屏幕截图所示?第一个输入是键,第二个输入是字符串,第三个输入是输出。事实上,我尝试了很多脚本,并在谷歌上搜索了这个问题,但结果并不像这个计算器那样真实。请帮忙。 和 @覆盖 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 最终ImageVie

如何在Java中为十六进制(以16为基数)编程Xor计算器,如下图所示的屏幕截图所示?第一个输入是键,第二个输入是字符串,第三个输入是输出。事实上,我尝试了很多脚本,并在谷歌上搜索了这个问题,但结果并不像这个计算器那样真实。请帮忙。 和

@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最终ImageView共享代码=(ImageView)findViewById(R.id.sharecode);
最终文本视图最终代码=(文本视图)findViewById(R.id.tvfinalcode);
最终按钮calculatcode=(按钮)findViewById(R.id.btncalculatcode);
最终EditText tbpin=(EditText)findViewById(R.id.etPin);
最终EditText tbappcode=(EditText)findViewById(R.id.etappcode);
tbappcode.setFilters(new-InputFilter[]{new-InputFilter.AllCaps()});
sharecode.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
if(finalcode.getText()等于(“”){
Toast.makeText(MainActivity.this,“没有代码共享它!”,Toast.LENGTH\u LONG.show();
}否则{
Intent sendIntent=新Intent();
sendIntent.setAction(Intent.ACTION\u SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT,“应用程序代码为:”+finalcode.toString());
sendIntent.setType(“文本/普通”);
星触觉(sendIntent);
}
}
});
CalculateCode.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
if(tbpin.getText().toString().equals(“”){
Toast.makeText(MainActivity.this,“请输入PIN码!”,Toast.LENGTH_LONG.show();
}else if(tbappcode.getText().toString().equals(“”){
Toast.makeText(MainActivity.this,“请输入Appcode代码的最后一部分!”,Toast.LENGTH\u LONG.show();
}否则{
字符串a=tbappcode.getText().toString();
字符串b=tbpin.getText().toString();
int[]加密=加密(a,b);
for(int i=0;i
请看下面的计算

public static void main(String[] args) throws FileNotFoundException {
    int i = 0x316AB2CB;
    int j = 0x19421942;

    int res = i^j;
    System.out.printf("Hex: %x\n", res);
    System.out.printf("Octal: %o\n", res);
    System.out.printf("Decimal: %d\n", res);
}

您可以查看一下,因为您可能并不总是对打印结果感兴趣。

您必须将字符串拆分为整数或长数字。 当我们有16个基本号码时,我们必须将此号码更改为2个基本号码。 例如(在您的图片中): 第一个输入的最后一个数字是2,第二个输入的最后一个数字是b

二进制中的2-0010

二进制b-1011

异或运算(如果firstInput=!secondInput)1001的结果是9。就像照片里的一样

所以你必须拆分你的字符串,得到一个数字,把它转换成16进制数,用第二个字符串做这个,然后使用XOR二进制运算符^

int[] firstInput ={1,9,4,2,1,9,4,2};
int[] secondInput ={3,1,6,a,b,2,c,b};
int[] output = new int[8];
for(i=0;i<firstInput.length();i++){
     output[i]=firstInput[i]^secondInput[i];
}
int[]firstInput={1,9,4,2,1,9,4,2};
int[]secondInput={3,1,6,a,b,2,c,b};
int[]输出=新的int[8];

对于(i=0;i在python中有运算符^

例如:

>>> 0xf54 ^ 0xea3
和输出:

503

您的代码在哪里?请发布一条消息,并显示您得到的输出。“不工作”这还不足以解释发生了什么!结果应该与附件中的图像一样。所有操作都正常,但结果计算不正确。我的字符串是316ab2cb,键是19421942。结果应该是2828ab89。我的代码是316ab2cb
503