Encryption rijndael加密支持java

Encryption rijndael加密支持java,encryption,base64,key,rijndael,cbc-mode,Encryption,Base64,Key,Rijndael,Cbc Mode,*我创建了这个示例,它给出的错误键无效,但我只想使用上面的键 I need A Sample Code in Java to Encrypt The String in AES 256 (Rijndael) with padding in CBC mode : MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC Then Encode the result in base 64. using Encryption Key:-"f53c50e4ab798944a4deb

*我创建了这个示例,它给出的错误键无效,但我只想使用上面的键

I need A Sample Code in Java to 
Encrypt The String in AES 256 (Rijndael) with padding in CBC mode : MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC 
Then Encode the result  in base 64.
using Encryption Key:-"f53c50e4ab798944a4debe137ec8ba677dbf44ebd37e373f785bf59a8c048c54".

请发布您尝试过的代码。使用
MCRYPT_Rijndael_256
指定的Rijndael变体与AES-256不兼容!Rijndael有一个可变块大小,其中
MCRYPT_Rijndael_256
(实际上来自PHP)表示块大小为256位的变量。AES是Rijndael的子集,具有128位的固定块大小(AES-256表示密钥大小为256位的AES)。所以这两种算法有不同的块大小,因此是不兼容的。谢谢你的回答。这对我帮助很大。bt可以在java中这样做(AES 256(Rijndael)和CBC模式下的填充:MCRYPT_Rijndael_256,MCRYPT_模式_CBC)吗?正如我已经说过的,不!同样,AES-256(块大小128位)和
MCRYPT_RIJNDAEL_256
(块大小256位)是不同的,即只能使用其中一种,即AES-256或
MCRYPT_RIJNDAEL_256
。AES-256的对应物是MCRYPT_RIJNDAEL_128。对于MCRYPT_RIJNDAEL_256,任何Sun JCE供应商中都没有对应的供应商,因此3。必须使用像Bouncy Castle这样的派对图书馆,耶!我尝试使用Bouncy castle,但得到的错误与无效的64字节密钥相同。当提供32字节密钥时,它工作正常。。事实上,我得到了一个web服务用php编写的需求,并且必须用java为其创建客户端,为此我得到了一个密钥=“F53C50E4AB798944A4DEB137EC8BA677DBF44EBD37E373F785BF59A8C048C54”。要加密。。。doc中的要求在AES 256(Rijndael)中,在CBC模式下填充:MCRYPT_Rijndael_256,MCRYPT_模式_CBC。。因此,如果您能提供一个java示例代码来实现这个需求,这将对我非常有帮助,因为我找不到它
public class aes {
    public static void main(String[] args) throws Exception {
        System.out.println("started");
        System.out.println(encrypt("hello"));
        System.out.println("end");

    }
    public static String encrypt(String value) throws Exception{

byte[] keyBytes="f53c50e4ab798944a4debe137ec8ba677dbf44ebd37e373f785bf59a8c048c54".getBytes();
        SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, key);
        byte[] res=cipher.doFinal(value.getBytes());
        String result=Base64.getEncoder().encodeToString(res);
        return result;

    }
}