Le chiffrement AES en swift

Je suis en train de mettre en œuvre le chiffrement AES en swift. Le chiffrement déchiffrement pour Android et C# fonctionne correctement. J'ai besoin de la mettre en œuvre rapide. C'est code actuel pour android et C# est suivi par cette.

J'ai essayé d'utiliser

  1. CryptoSwift
  2. La croix-plate-forme de cryptage AES

Mais aucun de ce travail. Quand j'envoie la chaîne cryptée sur le serveur, il n'a pas été déchiffrée.

Toute aide sera appréciée

Il suffit de comparer la sortie de travail mise en œuvre. La norme des vecteurs de test pour l'AES dans les différents modes de fonctionnement sont disponibles.
J'ai essayé de comparer la valeur chiffrée, mais ce n'est pas de correspondance. Je n'ai pas accès à l'android code, donc je ne peux pas le corriger. Je viens de recevoir ce lien comme une référence que j'avais déjà ajouté en question
Ensuite, regardez les paramètres d'entrée. Vous aurez un 16 bits bloc de texte en clair, un 16-20 octets de la clé (selon l'AES-128, AES-256 .etc variante) et un vecteur d'initialisation IV. Tous les trois doivent correspondre, pour chaque bloc. Vous devez également vous assurer que le rembourrage protocole est le même entre les versions.
Je suis seulement kCCOptionPKCS7Padding. Comment puis-je le mettre à PKCS5 de remplissage avec le mode CBC? Vérifié mais n'ai pas trouvé de solution pour ça aussi
Vous devez utiliser le même mode de remplissage de décrypter et de les chiffrer. Si votre API ne prennent pas en charge, vous aurez à mettre en œuvre vous-même. Cela peut impliquer unpadding le mauvais format, puis repadding dans le format correct. Encore une fois, vous trouverez des vecteurs de test pour vérifier qu'elle fonctionne correctement à chaque étape.

OriginalL'auteur Ankita Shah | 2016-06-07