Skip to content

Instantly share code, notes, and snippets.

@AhnSeongHyun
Created July 29, 2012 23:32
Show Gist options
  • Save AhnSeongHyun/3202549 to your computer and use it in GitHub Desktop.
Save AhnSeongHyun/3202549 to your computer and use it in GitHub Desktop.
get md5
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