简体   繁体   English

Java等效于PHP pack()函数

[英]Java equivalent for PHP pack() function

I have a PHP function. 我有一个PHP函数。 this code is to encryp a password 此代码用于加密密码

Is any one know how can I write this in Java code. 有谁知道如何用Java代码编写它。

this what I was try but dont give me result. 这是我尝试但不给我结果。

    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 );

Thanks for help 感谢帮助

EDIT : I use this for base64 library 编辑:我用它来base64库

import org.apache.tomcat.util.codec.binary.Base64;
String someString = "qwe";
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
String checksum = new BigInteger(1, messageDigest.digest(someString.getBytes())).toString(16);
System.out.println(checksum);

Hope this helps .. :) 希望这可以帮助 .. :)

I have Solved this. 我解决了这个问题。 this may help for other. 这可能有助于其他。

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

give me a result : 给我一个结果:

before =tes
after :KLZi2IO212/Zbk3cXpungA

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM