4

首先,我们在这里谈论的是Keepass
有问题的文件是:KeePass-2.19-Source\KeePass\Native\NativeMethods.cs

代码..好吧,就是文件本身。但这里有一个片段:

    [DllImport("KeePassLibC32.dll", EntryPoint = "TransformKey256")]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool TransformKey32(IntPtr pBuf256,
        IntPtr pKey256, UInt64 uRounds);  

现在的问题是,Java 不支持Attribute Targets。如何将文件移植到 Java 中?
可能吗?如果是这样……怎么办?

4

2 回答 2

0

据我所知,Java 也不支持 P/Invoke,因此属性目标不会帮助您...您应该能够使用 JNI 实现相同的结果,但是这段代码不能从字面上翻译C#。

于 2012-07-12T23:03:31.650 回答
0

Java确实支持属性目标(但它们是“注释”目标):http ://docs.oracle.com/javase/1.5.0/docs/api/java/lang/annotation/Target.html

但这对您没有多大帮助...除非您计划发明自己的 DllImport 以某种方式使用 JNI...通过 JSR-299 之类的东西

于 2012-07-13T04:19:24.387 回答