DbVisualizer 保存的连接信息存储在用户目录的 ".dbvis/config70/dbvis.xml" 中,其中密码是经过加密处理的。由于DbVisualizer 是由java开发的,我们可以很方便地对其进行反编译,得到他的加/解密方法并恢复数据库密码
以下是加解密程序源代码:
1 import java.io.UnsupportedEncodingException; 2 import java.security.GeneralSecurityException; 3 import java.security.spec.AlgorithmParameterSpec; 4 5 import javax.crypto.Cipher; 6 import javax.crypto.SecretKey; 7 import javax.crypto.SecretKeyFactory; 8 import javax.crypto.spec.PBEKeySpec; 9 import javax.crypto.spec.PBEParameterSpec; 10 11 12 import com.sun.org.apache.xml.internal.security.utils.Base64; 13 14 public class Test { 15 16 public static void main(String args[]) throws GeneralSecurityException { 17 18 System.out.println(encrypt("password", "qinda")); //qinda是在源码中发现的key 19 System.out.println(decrypt("AK+fe8JpLKE2kLaW6+Z31g==", "qinda")); 20 } 21 22 public static String encrypt(String