Java异或校验_异或校验计算器

Java异或校验_异或校验计算器Java异或校验今天要用到异或校验,折腾了半天,写下来留作备用。功能是将一串16进制的数进行异或校验,输出校验和。代码:importjava.util.Scanner;/**亦或校验算法*/publicclassChecksum_XOR{@SuppressWarnings(“resource”)publicstaticvoidmain(String

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Java异或校验

今天要用到异或校验,折腾了半天,写下来留作备用。
功能是将一串16进制的数进行异或校验,输出校验和。
代码:

import java.util.Scanner;

/* * 亦或校验算法 */
public class Checksum_XOR { 
   

    @SuppressWarnings("resource")
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        while(true){
            int i = 0,j = 0;
            Scanner scanner = new Scanner(System.in);
            String in = scanner.nextLine();
            int len = in.length();
            short inb[] = new short[len];
            for(i=0;i<len;i++){
                inb[i] = charToHex(in.charAt(i));   //将String里的每一个char转换为Hex
            }

            for(i =0;i<len;i++){    //将每两个Hex合并成一个byte
                inb[j] = (byte) (((inb[i]<<4)&0x00f0)|((inb[i+1])&0x000f));
                i++;
                j++;
            }
            byte temp = 0x00; //校验值
            for(i = 0;i<len/2;i++){ //异或
                temp ^= inb[i];
            }
            System.out.printf("%x", temp);
        }
    }

    static short charToHex(char x){ //将单个char转换为Hex
        short result = 0;
        switch(x){
        case 'a':result=10;break;
        case 'b':result=11;break;
        case 'c':result=12;break;
        case 'd':result=13;break;
        case 'e':result=14;break;
        case 'f':result=15;break;

        case 'A':result=10;break;
        case 'B':result=11;break;
        case 'C':result=12;break;
        case 'D':result=13;break;
        case 'E':result=14;break;
        case 'F':result=15;break;
        default:result = (short) Character.getNumericValue(x);break;
        }
        return result;
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185995.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ScaleAnimation 缩放动画效果[通俗易懂]

    ScaleAnimation 缩放动画效果[通俗易懂]ScaleAnimation(floatfromX,floattoX,floatfromY,floattoY,intpivotXType,floatpivotXValue,intpivotYType,floatpivotYValue) 参数说明: floatfromX动画起始时X坐标上的伸缩尺寸floattoX动画结束时X坐标上的伸缩尺寸fl

    2022年10月10日
  • 华为ensp安装包_华为服务器安装系统教程

    华为ensp安装包_华为服务器安装系统教程什么是eNSPeNSP是由华为公司研发并且免费供大家使用的图形化网络操作平台,主要是对各大企业的网络。路由器,以及交换机路由器进行模拟,呈现一个真实的场景,让用户能模拟练习网络技术!软件特点还原实景1,可模拟华为的AR路由器,部分交换机以及客户端实现企业网和运营商的图面呈现2,可以模拟客户机终端,云,中继交换机等3,仿真设备功能,快速的学习华为命令。快速了解华为命令4,可以通过真实网卡实现与真实设备的对接5,模拟接口抓包,可以很直观的看到协议的交互过程。具体图文安装步骤详解..

    2022年10月14日
  • c语言实现fastcgi

    c语言实现fastcgi参考fastcgi官网使用fastcgi官网迁移到了github了,下载FastCGIDeveloper’sKit

  • gdfgd_gdaebfc

    gdfgd_gdaebfc@TOC欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全…

  • Java BigDecimal加减乘除运算[通俗易懂]

    Java BigDecimal加减乘除运算[通俗易懂]效果:代码:/****/packagecom.example.demo;importjava.math.BigDecimal;/****<p>*Description:*</p>**@authorxuyangwei**@date2020年7月16日**/publicclassBigdecimalTest{ publicstaticvoidmain(String[]ar

  • [linux] sshd_config 打开PermitRootLogin

    [linux] sshd_config 打开PermitRootLogin允许root用户远程登录vim/etc/ssh/sshd_configPermitRootLoginyes允许无密码登录1)将PermitEmptyPasswordsyes前面的#号去掉2)将PermitEmptyPasswords参数值修改为yesservicesshdrestart

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号