【发布时间】:2014-02-27 19:39:16
【问题描述】:
我们正在将一些代码从 perl 迁移到 java/scala,但遇到了障碍。
我们正试图弄清楚如何在 Java/scala 中做到这一点:
use Crypt::CBC;
$aesKey = "some key"
$cipher = new Crypt::CBC($aesKey, "DES");
$encrypted = $cipher->encrypt("hello world");
print $encrypted // prints: Salted__�,%�8XL�/1�&�n;����쀍c
$decrypted = $cipher->decrypt($encrypted);
print $decrypted // prints: hello world
我在 scala 中尝试了一些东西,但并没有真正做到正确,例如:
val secretKey = new SecretKeySpec("some key".getBytes("UTF-8"), "DES")
val encipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
encipher.init(Cipher.ENCRYPT_MODE, secretKey)
val encrypted = encipher.doFinal(bytes)
println("BYTES:" + bytes)
println("ENCRYPTED!!!!!!: " + encrypted)
println(toString(encrypted))
非常感谢 Java/scala 方面的任何帮助或指导
【问题讨论】:
-
那么出了什么问题?请添加您的问题和相关输出,以目前的形式,您的问题很可能会被关闭。
-
另外你为什么要从一个 Voodoo 迁移到另一个?
-
@LucasKauffman 好吧..我的问题是我想知道如何在 java 中获得相同的加密...我希望能够在 Java 中解密由 perl 代码加密的内容(我无法控制)
-
我懂 Java,只是不喜欢 Scala :p
-
呵呵,但 Scala 很酷!但是 Java 答案会起作用:)