【发布时间】:2018-05-05 14:54:02
【问题描述】:
我正在尝试使用argon-jvm 库在我的应用程序中进行散列。
默认情况下这个库使用Argon2i,但是,我想使用Argon2id。为此,我需要将枚举值Argon2Factory.Argon2Types.Argon2id 传递给Argon2Factory 类中重载的create 方法。 Argon2Factory.java here的源代码。
从 lein repl(在添加 [de.mkammerer/argon2-jvm "2.4"] 作为依赖项之后),我可以执行以下操作:
user=> (import 'de.mkammerer.argon2.Argon2Factory)
de.mkammerer.argon2.Argon2Factory
user=> (def argon2 (Argon2Factory/create))
#'user/argon2
user=> (def hashedPassword (.hash argon2 17 65536 1 "passwordToBeHashed"))
#'user/hashedPassword
user=> hashedPassword
"$argon2i$v=19$m=65536,t=17,p=1$zvr4dz+/mpNxj5MVMtBALA$8dbE49MKV3dDfMMswTtjlB+niOeryh4EmJWNd7lj3FI"
但是,我无法访问在 Argon2Factory 类本身中定义的 Argon2Types 枚举值(以传递给 Argon2Factory.create 方法)。有人可以帮我访问这个枚举吗?
PS:repl 中不同阶段的自动补全:
user=> (de.mkammerer.argon2.
de.mkammerer.argon2.Argon2 de.mkammerer.argon2.Argon2Advanced de.mkammerer.argon2.Argon2Constants de.mkammerer.argon2.Argon2Factory
de.mkammerer.argon2.Argon2Helper de.mkammerer.argon2.Argon2d de.mkammerer.argon2.Argon2i de.mkammerer.argon2.Argon2id
de.mkammerer.argon2.BaseArgon2 de.mkammerer.argon2.jna.Argon2Library de.mkammerer.argon2.jna.Argon2_type de.mkammerer.argon2.jna.JnaUint32
de.mkammerer.argon2.jna.Size_t
user=> (de.mkammerer.argon2.Argon2Factory/create
de.mkammerer.argon2.Argon2Factory/create de.mkammerer.argon2.Argon2Factory/createAdvanced
PPS:我将使用在其自己的 .java 文件中定义的 Argon2Types 枚举向该项目提交拉取请求,但与此同时,我仍然想知道是否可以访问此类枚举)
【问题讨论】:
标签: clojure clojure-java-interop