Java等效于PHP pack()函数

时间:2016-08-12 09:18:22

标签: java php base64 md5 pack

我有一个PHP函数。此代码用于加密密码

是否有人知道如何用Java代码编写它。

这是我的尝试,但不给我结果。

    byte[] rawSHA = null;
    byte[] base64HexSHA = null;
    MessageDigest md= null;

    try {
        md = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException e) {
        LOG.error("Unable to load MD5 Message Digest : " + e.getMessage(), e);
        throw new IllegalStateException("MD5 Message Digest Instance Not Found");
    }


    rawSHA = md.digest(rawText.getBytes("UTF-8"));
    base64HexSHA = Base64.encodeBase64(rawSHA);
    System.out.println("result = "+base64HexSHA );

感谢您的帮助

编辑: 我将它用于base64库

import org.apache.tomcat.util.codec.binary.Base64;

2 个答案:

答案 0 :(得分:0)

public void MyFunction(OrderViewModel source){

  //initialize mapping
  Mapper.CreateMap<OrderViewModel, Order>().ForMember(dest => dest.OrderItems, opt => opt.MapFrom(src => src.DisplayItems));

  //map viewmodel to model
  var model = Mapper.Map<OrderViewModel, Order>(source);

  //does not reach this point
}

希望这会有所帮助.. :)

答案 1 :(得分:0)

我解决了这个问题。这可能有助于其他。

    String ps="tes";
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] encryptedPassword = md.digest(ps.getBytes());
    byte[] encodedBytes = Base64.encodeBase64(encryptedPassword);
    String Str2 = new String(encodedBytes);

给我一​​个结果:

before =tes
after :KLZi2IO212/Zbk3cXpungA