Created
July 29, 2012 23:32
-
-
Save AhnSeongHyun/3202549 to your computer and use it in GitHub Desktop.
get md5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.security.*; | |
import java.util.*; | |
public class MD5 | |
{ | |
int limit_position_number; | |
public MD5() | |
{ | |
limit_position_number = 30; | |
} | |
public int getLimitPositionNumber() | |
{ | |
return this.limit_position_number; | |
} | |
public void setLimitPositionNumber(int limit_postion_num) | |
{ | |
this.limit_position_number = limit_postion_num; | |
} | |
public String encryptData(String str) | |
{ | |
StringBuilder sb = new StringBuilder(); | |
try | |
{ | |
MessageDigest md5 = MessageDigest.getInstance("MD5"); | |
md5.update(str.getBytes()); | |
byte[] md5encrypt = md5.digest(); | |
for (int i = 0; i < md5encrypt.length; i++) | |
{ | |
sb.append(Integer.toHexString((int) md5encrypt[i] & 0xFF)); | |
} | |
} | |
catch (Exception e) | |
{ | |
e.printStackTrace(); | |
} | |
return assemlyMD5(sb); | |
} | |
public String assemlyMD5(StringBuilder ori_md5) | |
{ | |
for (;;) | |
{ | |
int current_md5_len = ori_md5.toString().length(); | |
if (current_md5_len > this.limit_position_number) | |
{ | |
int last_index = current_md5_len - 1; | |
ori_md5.deleteCharAt(last_index); | |
} | |
else if (current_md5_len < this.limit_position_number) | |
{ | |
Random random = new Random(); | |
int gen_rand_vaule = random.nextInt(10); | |
ori_md5.append(gen_rand_vaule); | |
} | |
else | |
{ | |
break; | |
} | |
} | |
return ori_md5.toString(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment