Je pense que votre observation que le genre crypté de la même apparence est valide est valide parce que dans le corps, la première partie est en fait le nom de clé qui a été utilisé pour crypter.C'est ainsi que KMS sait comment décrypter sans que vous ne spécifiez la clé (donc quand vous cryptez, vous obtenez quelque chose qui est: description de la clé + trucs réellement cryptés)
Maintenant, les questions sont: voulez-vous vraiment compter sur cette observation pour vous assurer que quelque chose est crypté? Voulez-vous faire cela à l'exécution?
En ce qui concerne la méthode isEncrypted: en quoi cela diffère-t-il de l'appel décrypté? C'est toujours un appel de méthode.
La vraie réponse est: Vous ne devriez pas compter sur KMS pour crypter/décrypter des choses que vous stockez. Vous devriez compter sur KMS pour crypter/décrypter les clés que vous utilisez pour crypter/décrypter vos affaires (c'est-à-dire ce qu'on appelle le cryptage d'enveloppe). Si vous décryptez/cryptez directement via KMS, vous serez limité par le nombre d'appels que vous pouvez effectuer contre KMS et la taille maximale de ce que vous voulez crypter.
Si vous passez au cryptage d'enveloppe, il devrait être trivial d'essayer simplement de déchiffrer et de déterminer si le contenu est crypté ou non. Cela étant dit, je recommanderais d'être très strict sur ce qui est chiffré et de l'appliquer (c'est-à-dire ne pas deviner).
Depuis que nous sommes ici: regardez aussi le contexte de cryptage pour KMS
Re: « Vous ne devez pas compter sur KMS pour crypter/décrypter des choses que vous stockez. » Pouvez-vous me dire (lien) plus? –
sûr: http://docs.aws.amazon.com/kms/latest/developerguide/workflow.html – Mircea