需要在Java中加密和解密,无法使用Base64 ......我想

时间:2013-04-06 10:15:35

标签: java eclipse encryption base64

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

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

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

由于

1 个答案:

答案 0 :(得分:1)

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

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