Je n'obtiens pas le cryptage Base64.
Si l'on peut décrypter une chaîne Base64, quel est son objectif?
Pourquoi est-il utilisé pour l'authentification HTTP Basic?
C'est comme dire à quelqu'un que mon mot de passe est inversé dans OLLEH.
Les personnes qui voient OLLEH sauront que le mot de passe d'origine était HELLO.
security
encryption
base64
Ajsie
la source
la source
Réponses:
Base64 n'est pas un cryptage - c'est un encodage. C'est une façon de représenter des données binaires en utilisant uniquement des caractères imprimables (texte).
Voir ce paragraphe de la page wikipedia pour l'authentification de base HTTP :
la source
C'est normalement appelé encodage base64, pas cryptage! La bonne chose à propos du codage base64 est qu'il vous permet de représenter des données (binaires) en utilisant uniquement un sous-ensemble limité et commun des caractères disponibles, bien plus efficacement que d'écrire simplement une chaîne de 1 et de 0 en ASCII par exemple.
la source
x2
plus d'octets que le flux d'origine, et 1s, 0s - fait desx8
fois plus d'octets. (Et Base64 créex1.3
plus de données que le tableau d'octets d'origine). Il est donc parfois acceptable d'encoder un flux binaire sous forme de chaîne hexadécimale, en doublant la quantité d'octets - par exemple, simplement pour stocker le hachage du mot de passe dans la base de données.En crypt ion nécessite une clé (chaîne ou algorithme) pour décrypter; d'où la "crypte" (racine: cryptographie )
En cód ing modifie les / déplacements / modifier un code de caractères dans une autre. Dans ce cas, les octets habituels de données peuvent désormais être facilement représentés et transportés via HTTP.
la source
Dans le langage courant, un «code» est quelque chose de secret. En science et en ingénierie, un code est simplement un accord, un ensemble de règles, sur la façon d'écrire quelque chose.
Ce code peut être secret. Dans ce cas, cela s'appelle un cryptage. Mais en général, un code n'est pas secret. Prenez le code génétique. Il indique simplement que notre ADN est construit à partir de quatre bases différentes -
A
,C
,G
etT
et que trois bases pris ensemble forment un acide aminé. Il y a aussi un tableau dont trois lettres forment quel acide aminé.Il n'y a rien de secret dans ce code.
De même, Base64 n'est pas un code secret. C'est plutôt un code qui permet de stocker des données sur six bits par caractère (il y a donc 64 entités différentes, c'est-à-dire que la «base» du système est 64, tout comme la base de notre système décimal est 10, puisqu'il y a 10 entités différentes appelé «chiffres»).
la source
Vous pourriez vouloir dire "Encodage Base 64". Le chiffrement n'est pas le même que le codage.
Wikipédia: cryptage
la source
L'encodage en base 64 fait partie des spécifications MIME. Il fournit un codage sûr pour le transport pour les données qui ne seront pas mâchées si / quand elles sont relayées via un hôte qui utilise un schéma de codage différent de celui utilisé par le client d'origine.
Il y a beaucoup d'hôtes différents sur les intertubes et vous ne pouvez pas vraiment supposer le support pour autre chose que l'ASCII 7 bits, sans risquer la perte / confusion de données.
Les mainframes IBM, par exemple, utilisent un encodage appelé EBCDIC (qui se décline en de nombreuses variantes). Ses points de code sont complètement différents des points de code utilisés par les puters basés sur ASCII - en ASCII, les lettres AZ sont 0x41 - 0x5A; dans EBCDIC, les lettres A - Z ne sont même pas une plage contiguë: les lettres AI vivent à 0xC1 - 0xC9, les lettres JR vivent à 0xD1 - 0xD9 et les lettres SZ vivent à 0xE2 - 0xE9.
la source
Par défaut, les paramètres de champ d'en-tête de message dans les messages HTTP (Hypertext Transfer Protocol) ne peuvent pas transporter de caractères en dehors du jeu de caractères ISO-8859-1.
Si le nom d'utilisateur et le mot de passe contiennent un jeu de caractères incompatible, HTTP ne pourra pas transporter ce texte. pour éviter cela, nous encodons le nom d'utilisateur et le mot de passe avec base64 pour nous assurer que nous envoyons des caractères compatibles HTTP sur HTTP. pour plus d'informations, consultez ce Basic_access_authentication
la source