Classe CS_EncryptionUtils
Téléchargement
Afin de faciliter l'implantation du chiffrement dans vos projets, une classe CS_EncryptionUtils
vous sera fournie. Vous êtes libres d'y lire le code à l'intérieur pour comprendre comment il fonctionne.
La classe CS_Encryption
est une classe utilitaire qui permet de manipuler le chiffrement et le déchiffrement AES plus facilement qu'avec les fonctions Java.
Pour chiffrer ou déchiffre des données, il faut 2 objets :
- Une clé secrète (objet
SecretKey
) - Un vecteur d'initialisation (objet
IvParameterSpec
)
Obtention d'une clé secrète
Une clé secrète peut être obtenir à l'aide d'une des 3 fonctions suivantes :
public static SecretKey generateKey(LONGUEUR_CLE longueurCle)
- Obtient une clé secrète générée aléatoirement. La longueur de la clé est choisie parmi 3 valeurs (128, 192 et 256) via un
enum
nomméLONGUEUR_CLE
.
- Obtient une clé secrète générée aléatoirement. La longueur de la clé est choisie parmi 3 valeurs (128, 192 et 256) via un
public static SecretKey getKeyFromPassword(String password, String salt)
- Obtient une clé secrète générée à partir d'un mot de passe et d'un sel. Un sel sert à ajouter du bruit à l'algorithme et à renforcir le chiffrement. L'utilisation d'un mot de passe et d'un sel spécifique donnera toujours la même clé secrète.
public static SecretKey getKeyFromBase64String(String b64secretKey)
- Obtient une clé secrète générée à partir d'une chaîne de caractères encodée en base64. Utile pour récupérer une clé enregistrée dans un fichier texte.
Obtention d'un vecteur d'initialisation
Le vecteur d'initialisation s'effectue à l'aide d'une des 3 fonctions suivantes :
public static IvParameterSpec generateIv()
- Obtient un vecteur d'initialisation généré aléatoirement.
public static IvParameterSpec generateIv(byte[] iv)
- Obtient un vecteur d'initialisation généré à partir d'un ensemble de bits.
public static IvParameterSpec generateIv(String base64String)
- Obtient un vecteur d'initialisation généré à partir d'une chaîne de caractères encodée en base64.
Chiffrer et déchiffrer une chaîne de caractère
Les fonctions encrypt
et decrypt
permettent de chiffrer et déchiffrer une chaîne de caractères à partir d'une clé secrète et d'un vecteur d'initialisation. Pour simplifier le traitement des données, le format base64
sera utilisé pour toutes les chaînes chiffrées.
Fonctions utilitaires
Des fonctions utilitaires ont été ajoutées pour aider à obtenir la clé secrète et le vecteur d'initialisation. Ces fonctions, getBase64SecretKey
et getBase64Iv
retourneront l'équivalent respectif en base64
.