在Java中解密defuse/php encryption Crypto::encryptWithPassword()

在Java中解密defuse/php encryption Crypto::encryptWithPassword(),java,php,encryption,cryptography,Java,Php,Encryption,Cryptography,我有一个PHP应用程序,它在MySQL数据库中存储一些敏感信息。为了保护这些信息,我使用库的Crypto::encryptWithPassword()方法如下: <?php // ... get sensitive data from user ... $encrypted = base64_encode(Crypto::encryptWithPassword($sensitive, $password, true)); // ... store that data in datab

我有一个PHP应用程序,它在MySQL数据库中存储一些敏感信息。为了保护这些信息,我使用库的
Crypto::encryptWithPassword()
方法如下:

<?php

// ... get sensitive data from user ...

$encrypted = base64_encode(Crypto::encryptWithPassword($sensitive, $password, true));

// ... store that data in database ...
但是,当我运行该代码时,出现以下错误:

Exception in thread "main" java.security.InvalidKeyException: Invalid AES key length: 4 bytes
    at com.sun.crypto.provider.AESCipher.engineGetKeySize(AESCipher.java:495)
    at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1067)
    at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1025)
    at javax.crypto.Cipher.implInit(Cipher.java:801)
    at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
    at javax.crypto.Cipher.init(Cipher.java:1249)
    at javax.crypto.Cipher.init(Cipher.java:1186)
    at com.example.test.app.Decrypt.main(Decrypt.java:24)

解密该数据的正确方法是什么?

“无效AES密钥长度:4字节”啊?啊。。。看起来我没有正确生成密钥。谢谢我会在找到正确的方法后更新问题。
Exception in thread "main" java.security.InvalidKeyException: Invalid AES key length: 4 bytes
    at com.sun.crypto.provider.AESCipher.engineGetKeySize(AESCipher.java:495)
    at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1067)
    at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1025)
    at javax.crypto.Cipher.implInit(Cipher.java:801)
    at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
    at javax.crypto.Cipher.init(Cipher.java:1249)
    at javax.crypto.Cipher.init(Cipher.java:1186)
    at com.example.test.app.Decrypt.main(Decrypt.java:24)