/** MessageDigestによるハッシュ値の生成 */
import java.io.*;
import java.security.*;
import java.lang.*;

public class MD5 {
 /** 処理を開始するメソッド */
	public String encode( String userid,String password){
                String enc = new String();
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
	       		String passwd = userid.concat(password);
 			byte[] pwd = passwd.getBytes();
			md.update(pwd);
			byte[] mdpwd = md.digest();
                        int i;
                        int j;
                        int k;
                        int l;
                        String zero=new String("0");
                        Byte bb;
//			System.out.println("userid password:" + passwd);
                        for(i=0;i<mdpwd.length;i++){
                                bb=new Byte(mdpwd[i]);
    				j=(bb.intValue()+256)%256 ;
 				Integer Int = new Integer(j);
                                String p= Int.toHexString(j) ;
				l=p.length();
				if(l < 2){
					for(k=2;k > l;k--){
						p= zero.concat(p) ;
//               		System.out.print(p);System.out.println(":");System.out.println(i);System.out.print("\n");
					}
                                } 
				enc =enc.concat(p);
 //               		System.out.print(bb);System.out.print("\n");
 //               		System.out.print(j);System.out.print("\n");
 //               		System.out.print(Int);System.out.print("\n");
//                		System.out.print(p);
//				System.out.print("\n");
			}
	 	} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
//				System.out.print("\n");
//				System.out.print(enc);
	return enc;
	}
}
