java 包本身已自带了。
import java.security.*;
import java.security.spec.*;
import java.security.interfaces.*;public static byte[] MD5(String rStr)
{
try
{
MessageDigest md5 = MessageDigest.getInstance(Coding.MD5);
md5.update(rStr.getBytes());
return md5.digest();
}catch(Exception e)
{
return new byte[0];
}
}我找到这个,请问怎么用,麻烦给下例子,可以解密的不????
import java.security.*;
import java.security.spec.*;
import java.security.interfaces.*;public static byte[] MD5(String rStr)
{
try
{
MessageDigest md5 = MessageDigest.getInstance(Coding.MD5);
md5.update(rStr.getBytes());
return md5.digest();
}catch(Exception e)
{
return new byte[0];
}
}我找到这个,请问怎么用,麻烦给下例子,可以解密的不????
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;import java.net.InetAddress;
import java.net.UnknownHostException;public class StringEncrypt {
private static Log logger = LogFactory.getLog(StringEncrypt.class);
private static String s_id = "";
private static SecureRandom mySecureRand;
private String afterMD = "";
private long secureInitializer;
{
mySecureRand = new SecureRandom();
secureInitializer = mySecureRand.nextLong();
try {
s_id = InetAddress.getLocalHost().toString();
logger.info("success receive:" + s_id);
}
catch (UnknownHostException e) {
logger.info("when host is received, exception catch:" + e);
}
} public StringEncrypt() {
getEncode();
} private void getEncode() {
//String returnValue = "";
long time = System.currentTimeMillis();
MessageDigest myDigest = null;
StringBuffer sBuffer = new StringBuffer();
try {
myDigest = java.security.MessageDigest.getInstance("MD5");
}
catch (NoSuchAlgorithmException e) {
logger.info("init error:" + e);
System.err.println(e);
}
sBuffer.append(s_id)
.append(":")
.append(Long.toString(secureInitializer))
.append(":")
.append(Long.toString(time));
myDigest.update(sBuffer.toString().getBytes());
byte[] array = myDigest.digest();
afterMD = this.ByteToHex(array).toString();
//String random = "";
} private StringBuffer ByteToHex(byte[] byteArray) {
StringBuffer sBuffer = new StringBuffer();
String b;
for (int i = 0; i < byteArray.length; i++) {
b = Integer.toHexString(byteArray[i] & 0xff);
if (b.length() == 1) sBuffer.append('0').append(b);
else sBuffer.append(b);
}
return sBuffer;
} public String toString() {
return afterMD.toUpperCase();
}
public static void main(String[] args) {
StringEncrypt ss = new StringEncrypt();
System.out.println(ss.toString());
}}