fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Ideone {
  6. public static void main (String[] args) throws java.lang.Exception {
  7. String url = "https://m...content-available-to-author-only...a.com/shop/face-wash-facial-cleanser";
  8. System.out.println(getPageHash(url));
  9. }
  10.  
  11. public static String getPageHash(String url) {
  12. long hash = 0L;
  13. char[] characterArray = url.toCharArray();
  14. for (int characterOrd : characterArray) {
  15. long temp1 = getSignedNumber(hash << 5);
  16. long temp2 = getSignedNumber(temp1 - hash);
  17. hash = getSignedNumber(temp2 + (long) characterOrd);
  18. hash = getSignedNumber(hash);
  19. }
  20. return hash < 0L ? String.format("0%s", -hash) : String.format("%s", hash);
  21. }
  22.  
  23. private static long getSignedNumber(long number) {
  24. int bitLength = 32;
  25. long mask = (long) (Math.pow(2.0D, (double) bitLength) - 1.0D);
  26. long testMask = 1L << bitLength - 1;
  27. return (number & testMask) != 0L ? number | ~mask : number & mask;
  28. }
  29. }
  30.  
Success #stdin #stdout 0.12s 34236KB
stdin
Standard input is empty
stdout
01311760295