public static Pair<String, String> getImageBytes() { try { URL url = new URL("http://localhost/captcha.php?verify=98818D40B83AECCFB7AFD7FD9653E1037519AC61"); InputStream inputStream = url.openStream(); ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int n = 0; while (-1 != (n = inputStream.read(buffer))) { output.write(buffer, 0, n); } String imgByte = HexTool.toString(output.toByteArray()); return new Pair( imgByte.substring(39, imgByte.length()), output.toString().split("CAPTCHA")[0]); } catch (IOException ex) { File directory = new File(IMG_DIRECTORY); if (!directory.exists()) { System.err.println("lieDetector folder does not exist!"); return null; } String[] filename = directory.list(); String answer = filename[server.Randomizer.nextInt(filename.length)]; answer = answer.substring(0, answer.length() - 4); try { return new Pair( HexTool.toString(getBytesFromFile(new File(IMG_DIRECTORY + answer + ".jpg"))), answer); } catch (IOException e) { } } return null; }
public String toString(final boolean b) { String nows = ""; if (arr.length - pos > 0) { byte[] now = new byte[arr.length - pos]; System.arraycopy(arr, pos, now, 0, arr.length - pos); nows = HexTool.toString(now); } if (b) { return "All: " + HexTool.toString(arr) + "\nNow: " + nows; } else { return "Data: " + nows; } }
private static boolean checkHash(String hash, String type, String password) { try { MessageDigest digester = MessageDigest.getInstance(type); digester.update(password.getBytes("UTF-8"), 0, password.length()); return HexTool.toString(digester.digest()).replace(" ", "").toLowerCase().equals(hash); } catch (Exception e) { throw new RuntimeException("Encoding the string failed", e); } }
private static final String toSimpleHexString(final byte[] bytes) { return HexTool.toString(bytes).replace(" ", "").toLowerCase(); }