10
votes

Spécifiez les arguments ciphers.getinstance ()?

J'utilise les éléments suivants dans une application Android et une application Java autonome:

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


3 commentaires

Essayez ce chiffrement chiffre = cipher.getinstance ("AES / CBC / ISO10126PADDING", "JSAFEJCE");


Blast n'a pas fonctionné: java.security.nosuchProviderexception: Aucun fournisseur de ce type: Jsafejce


On dirait que vous essayez d'écrire du code crypto en jetant des morceaux de code aléatoires au mur et en espérant quelque chose de bâtonnets. En utilisant les API de bas niveau, vous êtes présumé pour comprendre des choses comme la différence entre la cryptographie symétrique et asymétrique, les différences entre les modes de chiffrement block et les schémas de rembourrage, les IV, etc. Vous ne semblez comprendre aucun de ceux-ci. Peut-être que c'est là que vous devriez commencer.


3 Réponses :


4
votes

Réponse courte:

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");


1 commentaires

Dans mon cas, j'appelle un chiffrement.Unupdate quand il aurait dû être cipher.dofinal.



6
votes

Une autre "réponse courte", mais je pense que AES-GCM est plus sécurisée que le mode CBC et qui existe depuis quelques années, cependant, si vous souhaitez utiliser dans Android, vous devez inclure spongycastle xxx


1 commentaires

java.security.nosuchalgorithMException: AES / GCM / NOPADDING SecretyCactory Non disponible Je reçois cette erreur



2
votes

Voici comment je l'ai fait:

keyGenerator.init(new
                KeyGenParameterSpec.Builder(KEY_NAME,
                KeyProperties.PURPOSE_ENCRYPT |
                        KeyProperties.PURPOSE_DECRYPT)
                .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
                .setUserAuthenticationRequired(true)
                .setEncryptionPaddings(
                        KeyProperties.ENCRYPTION_PADDING_PKCS7)
                .build());

cipher = Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/" + KeyProperties.BLOCK_MODE_CBC + "/" + KeyProperties.ENCRYPTION_PADDING_PKCS7);


0 commentaires