$cipher.encrypt¶
Description¶
Chiffre un fichier ou un texte
Attention, si vous devez embarquer une signature avec les données chiffrées,
veuillez utiliser $cipher.encryptAndSign.
Syntaxe¶
$cipher.encrypt( source [ , options ] )
Paramètres¶
sourcefile / string- Valeur à chiffrer. Peut désigner un fichier ou une chaîne de caractères contenant la donnée à chiffrer.
optionsmap-
Map d'options de chiffrement. La liste des options dépend de l'algorithme de chiffrement souhaité. L'algorithme doit être spécifié via l'option
algo.Ci-dessous nous présentons les différents algorithmes supportés et les options supplémentaires qui s'y rapportent.
Valeur par défaut, désigne un chiffrement AES basé sur un mot de passe avec sel.
Autres options liées à l'algorithme
default:passwordstring-
Mot de passe à utiliser pour le chiffrement.
Si non défini, la méthode s'appuie sur le mot de passe défini dans la config de l'application (entrée
admin.cipherPassword).Si cette entrée n'est pas renseignée, la méthode se rabat sur la valeur de la variable d'environnement
EWT_ENCRYPT_PASSWORD.Veuillez utiliser la méthode `$cipher.genPassword pour générer un mot de passe. Les paramètres de chiffrement sont incorporés dans le mot de passe, ce qui permet de renforcer la sécurité des valeurs chiffrées.
Chiffrement PGP. Autres options liées à cet algorithme:
pubkeystring- Clé publique à utiliser pour le chiffrement
destination(oudest) file / string- Fichier ou dossier de destination. Si l'option n'est pas spécifiée, la méthode crée un fichier dans le répertoire de travail de l'application.
compressboolean- Indique que le chiffrement doit effectuer une compression des
données au préalable. L'option est
truepar défaut. armoredKeyboolean-
Indique que la clé publique est "armored", c'est-à-dire qu'elle est dans un format lisible (en base64).
Par défaut, la propriété est calculée automatiquement selon les premiers bytes de la clé publique.
armoredOutboolean- Indique que l'on souhaite avoir une sortie au format "armored".
Dans ce cas, les caractères non imprimables sont convertis en
base64. L'option est
falsepar défaut. integrityboolean- Indique d'intégrer des éléments de contrôle d'intégrité dans la
sortie. L'option est
truepar défaut.
Retour¶
Valeur chiffrée
Exemple¶
Ce premier exemple montre le chiffrement/déchiffrement d'une valeur en utilisant un mot de passe simple. Ici, le terme "simple" ne fait pas référence à la longueur ou la complexité du mot de passe, mais au fait qu'il s'agit d'une valeur litérale passée en direct.
Le second exemple ci-dessous commence par faire générer le mot de passe au
moteur. Le fait d'utiliser $cipher.genPassword pour
construire le mot de passe est une bonne pratique, car cela permet de
renforcer la robustesse du chiffrement. Veuillez vous référer la
documentation de la méthode pour avoir plus de détails.
Ce troisième exemple est une variante du précédent. Ici on n'impose pas de mot de passe, mais on laisse le moteur en générer un aléatoirement. La valeur de retour est généralement plus longue car le mot de passe généré contient des caractères spéciaux qui prennent plus de bytes lorsqu'ils sont convertis en UTF-8.
Des exemples de chiffrement PGP sont disponibles sur la page
$cipher