Outil pour chiffrer/déchiffrer avec UUEncode. UUEncode (pour Unix to Unix Encoding) est un codage symétrique basé sur la conversion de données binaires (découpées en blocs de 6 bits) en caractères ASCII.
UUencode - dCode
Catégorie(s) : Codage de Caractères
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
L'encodage UUEncoding est un algorithme de conversion de données binaires en texte ASCII disponible par défaut sur les systèmes d'exploitation Unix/Linux.
Le chiffrement uuencode peut coder n'importe quelle chaine binaire avec les 65 caractères ASCII (de 32 à 96) :
(espace)!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
Un message chiffré par uuencode commence par begin (mode) (nom) où (mode) est la valeur des droits d'accès au fichier Unix et (nom) est le nom du fichier qui sera créé au décodage.
Exemple : begin 664 dcode.txt va créer un fichier nommé dcode.txt avec les droits d'accès/mode 664
Un message encodé par uuencode se termine par une ligne contenant seulement end.
L'encodage consiste en la lecture des données binaire (flux ou fichier) découpé par groupe de 3 octets (soit 24 bits, éventuellement complétés par des bits à 0 à la fin si nécessaire). Ces 24 bits sont eux même découpé en 4 groupes de 6 bits. Et chaque groupe de 6 bits (ayant une valeur binaire entre 000000 et 111111) est converti en décimal (soit un nombre compris entre 0 et 63 en base 10).
La table de codage est similaire à la table ASCII mais décalée de 32 et limitée à 64 caractères.
Le programme d'encodage ajoute également, au tout début de chaque ligne de texte produit, le compte de caractères/octets codés dans cette ligne ; ce décompte (allant de 1 à 45) est lui-même encodé en l'augmentant de 32 avant d'être converti en un caractère ASCII à son tour. La taille limite autorisée des lignes produites est donc de 61 caractères (soit 1 caractère pour la longueur initiale plus 60 caractères codant 45 octets).
Exemple : Coder dCode se traduit par %9$-O9&4`
Le déchiffrement par UUEncode (uudecode) s'applique par lignes.
Exemple : Un message a été encodé %9$-O9&4` via UUencode
Le premier caractère de chaque ligne correspond au code du nombre de caractères de la ligne.
Exemple : % est le 5ème caractère de l'alphabet UUEncode (0-index), le message clair contiendra donc 5 octets.
Les autres caractères doivent être traités en groupe de 4.
Exemple : Le premier groupe de 4 caractères 9$-O
Regarder la position de chaque caractère dans l'alphabet et convertir cette position en binaire (6 bits) pour obtenir 24 bits.
Exemple : 9 est à la position 25 soit 011001 en binaire 6 bits, $ est à la position 4 soit 000100, etc.
Exemple : 9$-O correspond donc 24 bits: 011001 000100 001101 101111
Les 24 bits sont alors divisés en 3 octets (de 8 bits). Ces 3 octets sont ceux des données originales.
Exemple : 011001 000100 001101 101111 devient 01100100 01000011 01101111 qui sont respectivement les valeurs ASCII de d, C et o.
Exemple : Finalement le message chiffré %9$-O9&4` correspond au message clair est dCode.
Le message doit normalement commencer par begin et finir par end (mais ce n'est pas obligatoire).
Si il commence par begin, il est suivi d'un triplet de chiffres octal, généralement 644, 755 ou 777
Le message est composé au plus de 65 caractères distincts.
Le programme UUDeview utilise UUEncode.
UU est l'abréviation de Unix to Unix Encoding.
Techniquement il est possible d'utiliser un autre alphabet mais ce n'est plus vraiment UUEncode.
Il existe d'autres techniques similaires pour l'encodage, la plus connue est Base64, en complément d'un type MIME pour l'envoi des fichiers sur internet.
dCode se réserve la propriété du code source pour "UUencode". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "UUencode", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "UUencode" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "UUencode" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "UUencode" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
UUencode sur dCode.fr [site web en ligne], consulté le 21/11/2024,