一段对16进制字符串进行异或的代码详解编程语言

一段对16进制字符串进行异或的代码。

    public String xorHex(String a, String b) { 
        char[] chars = new char[a.length()]; 
        for (int i = 0; i < chars.length; i++) { 
            chars[i] = toHex(fromHex(a.charAt(i)) ^ fromHex(b.charAt(i))); 
        } 
        return new String(chars); 
    } 
 
    private static int fromHex(char c) { 
        if (c >= '0' && c <= '9') { 
            return c - '0'; 
        } 
        if (c >= 'A' && c <= 'F') { 
            return c - 'A' + 10; 
        } 
        if (c >= 'a' && c <= 'f') { 
            return c - 'a' + 10; 
        } 
        throw new IllegalArgumentException(); 
    } 
 
    private char toHex(int nybble) { 
        if (nybble < 0 || nybble > 15) { 
            throw new IllegalArgumentException(); 
        } 
        return "0123456789ABCDEF".charAt(nybble); 
    }

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15945.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论