ódigo de criptografia @PHP convertido para ColdFusion
Eu tenho esse pouco de PHP que gostaria de fazer o equivalente no ColdFusio
function & _encryptMessage( $message ) {
$td = mcrypt_module_open( MCRYPT_RIJNDAEL_256, '', MCRYPT_MODE_CBC, '');
mcrypt_generic_init( $td, $this->key, $this->iv );
$encrypted_data = mcrypt_generic( $td, $message );
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return base64_encode( $encrypted_data );
}
Eu acho que é apenas
encrypt(message,"","AES","Base64")
Mas não tenho como saber com certeza e isso não parece certo, então me perguntei se alguém lá fora seria bom o suficiente para me indicar a direção certa.
UPDATE: Para informaçõesesta resposta deMister Dai, foi particularmente útil.
So MCRYPT_RIJNDAEL_256 realmente significa tamanho do bloco não é a força da criptografia. A força da criptografia ainda é 256, pois a chave e o salt são gerados no PHP usando um valor com hash em sha-25
Esta é a chamada de criptografia que tenho agora:
encrypt(arguments.messageXML,instance.key,"AES/CBC/PKCS5Padding","Base64",ivSalt)
Infelizmente, isso explode porque o ivSalt tem 32 bytes (256 bits) de comprimento e o AES espera apenas um sal iv de 16 bytes. OlhandoAqu parece que o tamanho máximo do bloco no ColdFusion / Java para AES é 16 bytes (128 bits). Não consigo ver como posso obter um tamanho de bloco de 256 bits. Qualquer ajuda seria muito apreciada