Crittografia AES tra Java e Ruby: qual è la modalità predefinita e il riempimento per AES in Java?

2

Sto scrivendo un'app ruby che ha bisogno di creare un po 'di crittografia che la nostra app java deve essere in grado di decifrare. Per questo ho fatto qualche ricerca, e ora ho questo codice Java:

Cipher cipher = Cipher.getInstance("AES");

Mentre nel documento si afferma che il formato può essere di:

"algorithm/mode/padding" or "algorithm"

nel nostro caso che ho postato sopra è solo il "algorihm". Ma a cosa servono le sue modalità e padding? Inoltre non dice se è 256 o 128 ecc. Non riesco a trovare l'impostazione predefinita per AES - Non sono un programmatore java, quindi scusa se l'ho perso. E ho bisogno che sia in grado di replicare in Ruby.

    
posta cfernandezlinux 20.09.2015 - 02:15
fonte

1 risposta

4

La modalità di funzionamento e il riempimento predefiniti non sono definiti dallo standard JCA. Ogni fornitore è libero di fornire valori predefiniti diversi. Come puoi immaginare, fare affidamento sui valori predefiniti è completamente inaffidabile, quindi devi sempre impostare in modo esplicito la modalità di funzionamento e il riempimento.

Per Oracle JDK 7, l'impostazione predefinita per AES è AES / ECB / PKCS5Padding.

    
risposta data 20.09.2015 - 04:05
fonte

Leggi altre domande sui tag