1. Java / Говнокод #3846

    +66

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    1. import java.security.MessageDigest;
       2. import java.security.NoSuchAlgorithmException;
       3.  
       4. public final class MD5Util {
       5.   public static final int MASK = 0xff;
       6.   public static final int RADIX = 16;
       7.  
       8.   private MD5Util() {
       9.   }
      10.  
      11.   public static String encrypt(String str) {
      12.     try {
      13.       MessageDigest md = MessageDigest.getInstance("MD5");
      14.       md.update(str.getBytes());
      15.       return byteToHexString(md.digest());
      16.     } catch (NoSuchAlgorithmException e) {
      17.       //doing smth
      18.     }
      19.   return null;
      20.   }
      21.  
      22.   public static String encrypt(byte[] data) {
      23.     try {
      24.       MessageDigest md = MessageDigest.getInstance("MD5");
      25.       md.update(data);
      26.       return byteToHexString(md.digest());
      27.     } catch (NoSuchAlgorithmException e) {
      28.       //doing smth
      29.     }
      30.     return null;
      31.   }
      32.  
      33.   public static String byteToHexString(byte[] hash) {
      34.     StringBuffer buf = new StringBuffer(hash.length * 2);
      35.  
      36.     for (byte b : hash) {
      37.       if ((b & MASK) < RADIX) {
      38.         buf.append("0");
      39.       }
      40.  
      41.       buf.append(Long.toString(b & MASK, RADIX));
      42.     }
      43.  
      44.     return buf.toString();
      45.   }
      46. }

    Запостил: hromjo, 01 Августа 2010

    Комментарии (2) RSS

    • юнит-тест для определения номеров строк на говнокод.ру? :)
      Ответить
      • ))
        ИМХО достаточно было запостить ф-цию byteToHexString()
        Ответить

    Добавить комментарий