1

我需要将四位数字密码加密和解密到数据库中,但遇到了麻烦。我尝试过使用使用 Base64 的示例,即使在导入包后也找不到类。我究竟做错了什么?我知道下面的类可能是正确的,但是为什么找不到类并创建一个对象。在 Eclipse 中,当我导航到参考库中的 Base64 类时,它会显示“找不到源”。

import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import org.apache.commons.codec.binary.Base64;

public class PasswordEncryption {

    private static Random random = new Random((new Date()).getTime());

    public static String encrypt(String userId) {  
        Base64() encoder = new Base64();
        byte[] salt = new byte[8];
        random.nextBytes(salt);
        return encoder.encode(salt)+
        encoder.encode(userId.getBytes());
    }

    public static String decrypt(String encryptKey) {
        if (encryptKey.length() > 12) {
            String cipher = encryptKey.substring(12);
            BASE64Decoder decoder = new BASE64Decoder();
            try {
                return new String(decoder.decodeBuffer(cipher));
            } catch (IOException e) {
                //  throw new InvalidImplementationException(
                //    "Failed to perform decryption for key ["+encryptKey+"]",e);
            }
        }         
        return null;
    }
}

如果我没有正确使用这些论坛,请道歉,这是我的第一篇文章。

谢谢

4

1 回答 1

1

我认为您需要下载Apache Commons Codec。下载 jar 后,您需要将其作为库添加到您的 Eclipse 项目中,并位于您的构建路径中。(如果您已经这样做了,我深表歉意。从您的帖子中不清楚。)

完成后,您仍然无法在 Eclipse 中看到源代码,但您的项目在运行时应该可以工作。

于 2013-04-06T10:22:57.570 回答