List of usage examples for org.apache.commons.codec.binary Hex decodeHex
public static byte[] decodeHex(char[] data) throws IllegalArgumentException
From source file:nl.minvenj.pef.pseudo.IPPseudonymizer.java
private IPPseudonymizer(final String key, final int mask, final int bitCount) throws InvalidKeyException { try {//ww w . j a va2 s . c om _encrypter = new FFX(Hex.decodeHex(key.toCharArray()), RADIX); } catch (final DecoderException e) { throw new InvalidKeyException(key); } _bitCount = bitCount; _mask = mask; _changeBitCount = bitCount - mask; }
From source file:nl.minvenj.pef.pseudo.IPPseudonymizerTest.java
@Test public void testIPv6Mask9() throws InvalidKeyException, DecoderException { final int mask = 9; final IPPseudonymizer ipv6Pseudonymizer = IPPseudonymizer .initIPv6Pseudonymizer("3AE1E5F99DD4FF7196FE64ACDE688C89", mask); final byte[] ip = Hex.decodeHex("123465a4d5f4e55511bb96a864a01201".toCharArray()); final byte[] newIp = ipv6Pseudonymizer.pseudonymize(ip.clone()); assertThat(newIp[0], is(equalTo(ip[0]))); assertThat(newIp[1] & 0b1000, is(equalTo(ip[1] & 0b1000))); for (int i = mask / 8; i < 16; i++) { assertThat(newIp[i], is(not(equalTo(ip[i])))); }//from ww w . ja v a 2s . co m }
From source file:nl.minvenj.pef.pseudo.IPPseudonymizerTest.java
@Test public void testIPv6Mask48() throws InvalidKeyException, DecoderException { final int mask = 48; final IPPseudonymizer ipv6Pseudonymizer = IPPseudonymizer .initIPv6Pseudonymizer("3AE1E5F99DD4FA894D45D6FFDE688EE0", mask); final byte[] ip = Hex.decodeHex("fd7376ae803033ddb942d98a864e8743".toCharArray()); final byte[] newIp = ipv6Pseudonymizer.pseudonymize(ip.clone()); for (int i = 0; i < mask / 8; i++) { assertThat(newIp[i], is(equalTo(ip[i]))); }/* w w w .j av a 2 s . c om*/ for (int i = mask / 8; i < 16; i++) { assertThat(newIp[i], is(not(equalTo(ip[i])))); } }
From source file:nl.minvenj.pef.pseudo.IPPseudonymizerTest.java
@Test public void testIPv6Mask120() throws InvalidKeyException, DecoderException { final int mask = 120; final IPPseudonymizer ipv6Pseudonymizer = IPPseudonymizer .initIPv6Pseudonymizer("3AE1E5F99DD4FF7196FE64ACDE688C89", mask); final byte[] ip = Hex.decodeHex("97010a9b423def694d2aa231011d1210".toCharArray()); final byte[] newIp = ipv6Pseudonymizer.pseudonymize(ip.clone()); for (int i = 0; i < mask / 8; i++) { assertThat(newIp[i], is(equalTo(ip[i]))); }//from ww w . j a v a 2s . co m for (int i = mask / 8; i < 16; i++) { assertThat(newIp[i], is(not(equalTo(ip[i])))); } }
From source file:nl.minvenj.pef.serialize.transform.IPv6PseudoTransformerTest.java
public void test(final IPv6AddressPseudonymizer ipv6AddressPseudonymizer) throws IOException, DecoderException { final byte[] bytes = Data.IPV6_UDP_MDNS; final ParseResult originalResult = Util.parse(bytes, Ethernet2Frame.FORMAT); assertTrue(originalResult.succeeded); final TransformConstraint constraint = new TransformConstraint(IPv6.FORMAT); final CopyTokenSerializer outSerializer = new CopyTokenSerializer(bytes.length); new Processor().addTransformer(constraint, "sourceaddress", ipv6AddressPseudonymizer) .addTransformer(constraint, "destinationaddress", ipv6AddressPseudonymizer) .transformAndProcess(originalResult, outSerializer); final byte[] newBytes = outSerializer.outputData(); final ParseResult newResult = Util.parse(newBytes, Ethernet2Frame.FORMAT); assertTrue(newResult.succeeded);//w w w .j a va 2 s . co m final ParseGraph originalValues = originalResult.environment.order; final ParseGraph newValues = newResult.environment.order; assertThat(originalValues.get("sourceaddress").getValue(), is(equalTo(Hex.decodeHex("fe800000000000001cff02448da631d6".toCharArray())))); assertThat(originalValues.get("destinationaddress").getValue(), is(equalTo(Hex.decodeHex("ff0200000000000000000000000000fb".toCharArray())))); assertThat(newValues.get("sourceaddress").getValue(), is(equalTo(Hex.decodeHex("fe80000000000000b6de673148cda5be".toCharArray())))); assertThat(newValues.get("destinationaddress").getValue(), is(equalTo(Hex.decodeHex("ff02000000000000f00dda65997efb75".toCharArray())))); }
From source file:nl.minvenj.pef.serialize.transform.IPv6PseudoTransformerTest.java
private IPv6AddressPseudonymizer mockPseudo() { final IPv6AddressPseudonymizer ipv6AddressPseudonymizer = mock(IPv6AddressPseudonymizer.class); when(ipv6AddressPseudonymizer.context()).thenReturn(tokens(ParseGraph.NONE)); when(ipv6AddressPseudonymizer.transform(any(ParseValue.class), any(Environment.class))) .then(new Answer<ParseValue>() { @Override//from www. j av a 2 s .co m public ParseValue answer(final InvocationOnMock invocation) throws Throwable { final ParseValue value = ((ParseValue) invocation.getArguments()[0]); if (Arrays.equals(value.getValue(), Hex.decodeHex("fe800000000000001cff02448da631d6".toCharArray()))) { return new ParseValue(value.name, value.getDefinition(), value.getOffset(), Hex.decodeHex("fe80000000000000b6de673148cda5be".toCharArray()), value.enc); } return new ParseValue(value.name, value.getDefinition(), value.getOffset(), Hex.decodeHex("ff02000000000000f00dda65997efb75".toCharArray()), value.enc); } }); return ipv6AddressPseudonymizer; }
From source file:nl.minvenj.pef.util.TestUtil.java
/** * Convert a String of bytes to a byte array. * * @param hexString the string in hex format (e.g. "E5D34F") * @return a byte array containing the bytes represented by the String characters * @throws IllegalArgumentException thrown if an odd number or illegal of characters is supplied *///from www . j a v a2 s . c o m public static byte[] hexStringToBytes(final String hexString) { try { return Hex.decodeHex(hexString.toCharArray()); } catch (final DecoderException e) { throw new IllegalArgumentException(e); } }
From source file:org.abstracthorizon.proximity.HashMapItemPropertiesImpl.java
/** * Decode hex./*from w w w.ja va2 s . c om*/ * * @param hexEncoded the hex encoded * * @return the byte[] */ protected byte[] decodeHex(String hexEncoded) { try { return Hex.decodeHex(hexEncoded.toCharArray()); } catch (DecoderException ex) { return null; } }
From source file:org.adempiere.pipo2.IDFinder.java
/** * Get ID from column value for a table. * * @param tableName//from w w w .j a v a 2 s.c o m * @param columName * @param value * @param AD_Client_ID * @param trxName */ public static int findIdByColumn(String tableName, String columnName, Object value, int AD_Client_ID, boolean ignorecase, String trxName) { int id = 0; if (value == null) return id; //construct cache key StringBuilder key = new StringBuilder(); key.append(tableName).append(".").append(columnName).append("=").append(value.toString()) .append(" AND AD_Client_ID=").append(AD_Client_ID); //check cache if (idCache.containsKey(key.toString())) return idCache.get(key.toString()); StringBuffer sqlB = new StringBuffer("SELECT ").append(tableName).append("_ID FROM ").append(tableName) .append(" WHERE ").append(" AD_Client_ID IN (0, ?) AND "); Object[] params = null; String[] columns = null; if (columnName.indexOf(",") > 0 && value instanceof String) { columns = columnName.split("[,]"); String[] values = ((String) value).split("[,]"); List<Object> paramList = new ArrayList<Object>(); for (int i = 0; i < columns.length; i++) { if (i > 0) sqlB.append(" AND "); if (ignorecase) { sqlB.append("UPPER(").append(columns[i]).append(")=? "); } else { sqlB.append(columns[i]).append("=? "); } try { byte[] bytes = Hex.decodeHex(values[i].toCharArray()); String s = new String(bytes, "UTF-8"); if (ignorecase) { paramList.add(s.toUpperCase()); } else { paramList.add(s); } } catch (DecoderException e) { throw new RuntimeException(e); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } params = paramList.toArray(); } else { if (ignorecase && value != null && value instanceof String) { sqlB.append("UPPER(").append(columnName).append(") =? "); params = new Object[] { ((String) value).toUpperCase() }; } else { sqlB.append(columnName).append(" =? "); params = new Object[] { value }; } columns = new String[] { columnName }; } sqlB.append(" Order By AD_Client_ID Desc, ").append(tableName).append("_ID"); MTable table = MTable.get(Env.getCtx(), tableName); PreparedStatement pstmt = null; ResultSet rs = null; try { pstmt = DB.prepareStatement(sqlB.toString(), trxName); pstmt.setInt(1, AD_Client_ID); for (int i = 0; i < params.length; i++) { Object param = params[i]; if (param instanceof String) { String s = (String) param; MColumn column = table.getColumn(columns[i]); if (column.getAD_Reference_ID() == DisplayType.Amount || column.getAD_Reference_ID() == DisplayType.Number || column.getAD_Reference_ID() == DisplayType.CostPrice || column.getAD_Reference_ID() == DisplayType.Quantity) pstmt.setBigDecimal(i + 2, new BigDecimal(s)); else if (column.getAD_Reference_ID() == DisplayType.Date || column.getAD_Reference_ID() == DisplayType.DateTime) pstmt.setTimestamp(i + 2, Timestamp.valueOf(s)); else if (column.getAD_Reference_ID() == DisplayType.Integer) pstmt.setInt(i + 2, Integer.parseInt(s)); else pstmt.setString(i + 2, s); } else if (param instanceof Integer) { pstmt.setInt(i + 2, ((Integer) param).intValue()); } else { pstmt.setObject(i + 2, param); } } rs = pstmt.executeQuery(); if (rs.next()) id = rs.getInt(1); } catch (Exception e) { throw new DatabaseAccessException(e); } finally { DB.close(rs, pstmt); } //update cache if (id > 0) idCache.put(key.toString(), id); return id; }
From source file:org.alfresco.repo.security.authentication.MD4PasswordEncoderImpl.java
public byte[] decodeHash(String encodedHash) { if (!getEncodeHashAsBase64()) { try {/*from w ww . j av a 2 s .c om*/ return Hex.decodeHex(encodedHash.toCharArray()); } catch (DecoderException e) { throw new RuntimeException("Unable to decode password hash"); } } else { return Base64.decodeBase64(encodedHash.getBytes()); } }