PHP pack()函数的Java等价物

PHP pack()函数的Java等价物,java,php,base64,md5,pack,Java,Php,Base64,Md5,Pack,我有一个PHP函数。此代码用于加密密码 有人知道我如何用Java代码写这个吗 这就是我所尝试的,但不给我结果 byte[] rawSHA = null; byte[] base64HexSHA = null; MessageDigest md= null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) {

我有一个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;
希望这有帮助:)


希望这有帮助:)

我已经解决了这个问题。这可能对其他人有所帮助

    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

我已经解决了这个问题。这可能对其他人有所帮助

    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

“但不要给我结果。”-请详细说明。你尝试了什么,你期望什么,你得到了什么?还请定义您正在使用的
Base64
类,因为有多个库提供了一个类。它看起来不像
java.util.Base64
“但是不要给我结果。”-请详细说明。你尝试了什么,你期望什么,你得到了什么?还请定义您正在使用的
Base64
类,因为有多个库提供了一个类。它看起来不像
java.util.Base64
。我尝试输入=[12345abc]。这就是结果:从您的代码[185aef3b1c810799a6be8314abf6512c],从上面的php函数[GFrvOxyBB5mmvoMUq/ZRLA]
185aef3b1c810799a6be8314abf6512c
值对于输入
12345abc
是正确的MD5。您正在将outout与MD%或方法的返回值进行比较
md5\u base64($txt)
?是的,这在md5 encryp中是正确的。但是上面的php函数不仅仅是将输入文本加密到MD5加密中。在我的try input=[12345abc]中有一个replace string and pack函数。这就是结果:从您的代码[185aef3b1c810799a6be8314abf6512c],从上面的php函数[GFrvOxyBB5mmvoMUq/ZRLA]
185aef3b1c810799a6be8314abf6512c
值对于输入
12345abc
是正确的MD5。您正在将outout与MD%或方法的返回值进行比较
md5\u base64($txt)
?是的,这在md5 encryp中是正确的。但是上面的php函数不仅仅是将输入文本加密到MD5加密中。里面有一个替换字符串和打包函数