Base64是通用算法,
参考这个 Base 64 编码的JAVA实现

解决方案 »

  1.   

    楼主的意思是在Java中实现MD5加密吗?
    没那么麻烦,两句代码搞定: try {
         String pwd = "accp";
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] saltedPwd = md.digest( pwd.getBytes() ); // saltedPwd就是楼主所需要的MD5加密后的结果
    } catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
    }
      

  2.   

    [接2楼]
    楼主的附加要求:对于MD5加密之后的结果有一个Base64的编码处理——此功能的实现请参考1楼。
      

  3.   

    [接3楼]
    更详细点的代码: try {
         String pwd = "haka";
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] saltedPwd = md.digest( pwd.getBytes() ); // saltedPwd就是楼主所需要的MD5加密后的结果
    System.out.println("以十六进制查看:");
    for(byte b : saltedPwd)
    {
    System.out.printf( "%x", b );
    }
    System.out.println();
    System.out.println("编码成字符串:");
    String s = new String( saltedPwd ); //编码成字符串
    System.out.println( s );
    } catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
    }
      

  4.   

    [接4楼]
    通过比较,楼主应该发现,无论是字符串还是十六进制,都与你在PHP中是吻合的。呵呵。
      

  5.   

       try {
            String pwd = "accp";
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] saltedPwd = md.digest( pwd.getBytes() ); // saltedPwd就是楼主所需要的MD5加密后的结果
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }