Encrypt.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * @Encrypt.java version 1.0 29/03/2010
  3. *
  4. * Copyright 2010 Viettel Telecom. All rights reserved.
  5. * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.vas.sicbosubnc.wsfw.common;
  8. import java.io.UnsupportedEncodingException;
  9. import java.security.MessageDigest;
  10. import java.security.NoSuchAlgorithmException;
  11. import org.apache.log4j.Logger;
  12. import sun.misc.BASE64Encoder;
  13. /**
  14. *
  15. * @author TungTT
  16. */
  17. public class Encrypt {
  18. private static String convertToHex(byte[] data) {
  19. StringBuffer buf = new StringBuffer();
  20. for (int i = 0; i < data.length; i++) {
  21. int halfbyte = (data[i] >>> 4) & 0x0F;
  22. int two_halfs = 0;
  23. do {
  24. if ((0 <= halfbyte) && (halfbyte <= 9)) {
  25. buf.append((char) ('0' + halfbyte));
  26. } else {
  27. buf.append((char) ('a' + (halfbyte - 10)));
  28. }
  29. halfbyte = data[i] & 0x0F;
  30. } while (two_halfs++ < 1);
  31. }
  32. return buf.toString();
  33. }
  34. public static String MD5(String text)
  35. throws NoSuchAlgorithmException, UnsupportedEncodingException {
  36. MessageDigest md;
  37. md = MessageDigest.getInstance("MD5");
  38. byte[] md5hash = new byte[32];
  39. md.update(text.getBytes("iso-8859-1"), 0, text.length());
  40. md5hash = md.digest();
  41. return convertToHex(md5hash);
  42. }
  43. /**
  44. *
  45. * @param securityCode
  46. * @param salt
  47. * @return
  48. */
  49. public static String getHashCode(String salt, String securityCode, Logger logger) {
  50. MessageDigest md = null;
  51. try {
  52. String seq = securityCode + salt;
  53. md = MessageDigest.getInstance("SHA-256"); //step 2
  54. md.update(seq.getBytes("UTF-8")); //step 3
  55. } catch (Exception ex) {
  56. logger.error(ex.toString(), ex);
  57. }
  58. byte raw[] = md.digest(); //step 4
  59. String hash = (new BASE64Encoder()).encode(raw); //step 5
  60. return hash;
  61. }
  62. public static void main(String[] args) {
  63. MessageDigest md = null;
  64. String salt = "DrawLucky@123";
  65. String securityCode = "luckydraw";
  66. try {
  67. String seq = salt + securityCode;
  68. md = MessageDigest.getInstance("SHA-256"); //step 2
  69. md.update(seq.getBytes("UTF-8")); //step 3
  70. } catch (Exception ex) {
  71. // logger.error(ex.toString(), ex);
  72. }
  73. byte raw[] = md.digest(); //step 4
  74. String hash = (new BASE64Encoder()).encode(raw); //step 5
  75. System.out.println(hash);
  76. }
  77. }