Exception in thread "main" java.lang.UnsatisfiedLinkError: dpapi.DPAPI.CryptProtectData(Ljava/lang/String;[BZ)[B
    at dpapi.DPAPI.CryptProtectData(Native Method)
    at dpapi.DataProtector.protect(DataProtector.java:60)
    at dpapi.Main.main(Main.java:36)




public class Main {

    static {
        System.load(new File("jdpapi-native-1.0.dll").getAbsolutePath());
    }
    public static void main(String[] args) {

    DataProtector p = new DataProtector();
    String x ="abc";
    String y = p.protect(x).toString();

    }

}


我知道库已加载,但我不知道为什么我仍然要执行。
链接:http://jdpapi.sourceforge.net/

最佳答案

检查您的Java CPU体系结构(32位或64位)是否等于dll。
32位Windows进程无法加载64位dll,反之亦然。

09-15 12:33