我需要加密和解密为四位数的引脚进入数据库并遇到麻烦。我曾尝试使用使用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;
}
}
如果我没有正确使用这些论坛,请道歉,这是我的第一篇文章。
由于
答案 0 :(得分:1)
我认为您需要下载Apache Commons Codec。下载jar后,需要将其作为构建路径中的库添加到Eclipse项目中。 (如果你已经这样做,我道歉。你的帖子中不清楚。)
一旦完成,您仍然无法在Eclipse中看到源代码,但您的项目在运行时应该可以正常工作。