En passant par le lien, vous pouvez voir que vous devez utiliser le code suivant pour convertir la chaîne chiffrée en celle souhaitée.
//Use the constructor to re-create the CipherTextIvMac class from the string:
CipherTextIvMac cipherTextIvMac = new CipherTextIvMac (cipherTextString);
String plainText = AesCbcWithIntegrity.decryptString(cipherTextIvMac, **keys**);
Les clés est la même clé qui a été utilisé pendant le cryptage. Comme vous pouvez le voir, vous devez stocker la clé pour le déchiffrer. Le lien fournit également la précaution de stocker la clé
Une fois que vous avez créé une clé aléatoire, vous pouvez naturellement vouloir stocker il. Cela peut fonctionner pour certains cas d'utilisation, mais sachez que si vous stockez la clé au même endroit où vous stockez les données cryptées, votre solution ne sera pas cryptographiquement valide puisque l'attaquant peut simplement obtenir à la fois la clé et le crypté. texte. Au lieu de cela, vous devez utiliser soit l'infrastructure Keystore, soit envisager de générer la clé à partir de une phrase secrète et de l'utiliser pour chiffrer les données utilisateur.
Si malgré cela vous voulez toujours stocker la clé, vous pouvez convertir les clés d'une chaîne en utilisant les fonctions incluses et les stocker dans les préférences ou SQLite.
Je suis l'auteur de cette bibliothèque et je peux confirmer que c'est la bonne réponse. Utilisez "keyString" pour convertir une clé en une chaîne et "keys" pour convertir une chaîne en une clé. Comme l'a souligné quantumThinker, il y a des dangers à stocker la clé, et cela peut ou non être sécurisé, selon votre cas d'utilisation. Pensez également à utiliser "generateKeyFromPassword" si cela peut fonctionner selon vos besoins. –