package sf_md5;
import java.io.*;
import java.security.*;
//import java.util.*;
//import java.security.interfaces.*;
public class MD5_算法 {
private String inStr;
private MessageDigest mad5;
public MD5_算法(String inStr){
this.inStr=inStr;
try{
this.mad5=MessageDigest.getInstance("MD5");
}
catch(Exception e){
System.out.println(e.toString());
e.printStackTrace();
}
}
public String compute(){
char[] charArray=this.inStr.toCharArray();
byte[] byteArray=new byte[charArray.length];
for(int i=0;i<charArray.length;i++)
byteArray[i]=(byte)charArray[i];
byte[] md5Bytes=this.mad5.digest(byteArray);
StringBuffer hexValue=new StringBuffer();
for(int i=0;i<md5Bytes.length;i++){
int val=((int)md5Bytes[i])&0xff;
if(val<16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String[] args) {
String string=null;
try{
System.out.println("请输入要加密的数据:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
string=br.readLine();
}
catch(IOException e){
System.out.println(e);
}
MD5_算法 md5 =new MD5_算法(string);
String postString =md5.compute();
System.out.println("加密后的数据:"+postString);
}
}
import java.io.*;
import java.security.*;
//import java.util.*;
//import java.security.interfaces.*;
public class MD5_算法 {
private String inStr;
private MessageDigest mad5;
public MD5_算法(String inStr){
this.inStr=inStr;
try{
this.mad5=MessageDigest.getInstance("MD5");
}
catch(Exception e){
System.out.println(e.toString());
e.printStackTrace();
}
}
public String compute(){
char[] charArray=this.inStr.toCharArray();
byte[] byteArray=new byte[charArray.length];
for(int i=0;i<charArray.length;i++)
byteArray[i]=(byte)charArray[i];
byte[] md5Bytes=this.mad5.digest(byteArray);
StringBuffer hexValue=new StringBuffer();
for(int i=0;i<md5Bytes.length;i++){
int val=((int)md5Bytes[i])&0xff;
if(val<16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String[] args) {
String string=null;
try{
System.out.println("请输入要加密的数据:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
string=br.readLine();
}
catch(IOException e){
System.out.println(e);
}
MD5_算法 md5 =new MD5_算法(string);
String postString =md5.compute();
System.out.println("加密后的数据:"+postString);
}
}