JAVA有没有 可逆的算法? 类?

MD5 好像不行。。

用现成的BASE64编码

sun.misc.BASE64Decoder
sun.misc.BASE64Encoder

顺便问一下, 你准备用可逆的算法来做什么?

如果用户丢失了密码。。 可以恢复。。

谢谢。。。。

需求里面指明了一定要恢复吗?
reset一个密码, 然后email给用户好像是现在通用的做法.
这样对于用户的隐私保护应该更好一定.

package cute;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class cute{
public static void main(String args[])throws Exception{


BASE64Decoder d=new BASE64Decoder();
BASE64Encoder e=new BASE64Encoder();
String s="cute";
String y=e.encodeBuffer(s.getBytes());
System.out.println(y);

我怎样才能把 y 变回 cute ??? 我试了可是不行。。。
}
}

一个封装好的工具类:


public class BASE64Coding {
private static BASE64Encoder encoder = new BASE64Encoder();
private static BASE64Decoder decoder = new BASE64Decoder();

public BASE64Coding() {
}

public static String encode (String s){
return encoder.encode(s.getBytes());
}

public static String decode (String s){
try {
byte[] temp = decoder.decodeBuffer(s);
return new String(temp);
}
catch (IOException ioe) {
//handler exception here
}
return null;
}
}

感谢。。。

为什么要 new String() ??? 我就这一点不明白。 toString() 不行吗?

你没有看到decode出来的是byte[]吗?faint

liferay中有Base64也好用,它是将cache的object编码后存入数据库。
liferay是个非常棒 使用EJB和Portlets 非常好的portal门户系统软件,开源的。

http://www.liferay.com/

实在对不起 。没有考虑清楚。问了一个傻问题。。SORRY!

Acme's crypto package. Try DES.
http://www.acme.com/java/software/

byte mydata[];
mydata = d.decodeBuffer(y);
for(int i=0;i<mydata.length;i++)
{
System.out.print((char)mydata);
}

> liferay中有Base64也好用,它是将cache的object编码后存入
> 菘狻?> liferay是个非常棒 使用EJB和Portlets
> 非常好的portal门户系统软件,开源的。
>
> http://www.liferay.com/

老大,我的liferay问题你能帮我看看么?我不想用oracle啊。

cryptix32,一个开源的加密包。里面提供了MD5和DES的加密算法实现。

偶刚找到,在网上找不到中文的使用说明,正在慢慢看E文,谁用过的话,指点一二。