Qual è lo scopo della codifica base 64 e perché viene usato l’Autenticazione di Base HTTP?

Non capisco il Base64 codifica.

Se si può decriptare una stringa Base64, qual è il suo scopo?

Perché è utilizzato per HTTP Basic auth?

E ‘ come dire a qualcuno che la mia password è invertito in OLLEH.

Gente vedendo OLLEH sapere la password originale era CIAO.

InformationsquelleAutor ajsie | 2010-11-01

 

7 Replies
  1. 241

    Base64 non è la crittografia-è una codifica. È un modo di rappresentare i dati binari utilizzando solo stampabile (testo) caratteri.

    Vedere questo paragrafo pagina di wikipedia per l’Autenticazione di Base HTTP:

    Durante la codifica, il nome utente e la password con l’algoritmo Base64 in genere li rende illeggibile a occhio nudo, sono facilmente decodificato come sono codificati. La sicurezza non è l’intento di codifica di fase. Piuttosto, l’intento di codifica codifica non-HTTP-compatibile con i caratteri che possono essere il nome utente o la password in HTTP-compatibile.

    • Inoltre, sembra che la relativa codifica dei caratteri per ottenere il ‘binario di dati’ da stringa, dovrebbe essere iso-8859-1. (source)
  2. 56

    È normalmente chiamato la codifica base64, non di crittografia! La cosa bella di codifica base64 è che ti permette di rappresentare (binario) dati utilizzando solo un limitato comune sottoinsieme di caratteri disponibili, in modo molto più efficace che solo la scrittura di una stringa di 1 e 0 come ASCII, per esempio.

    • +1, ma confronto alla memorizzazione di dati in 1s,0s flusso è troppo esagerato. È meglio confrontare la memorizzazione dei dati in formato esadecimale. Perché hex sarebbe solo rendere x2 più byte di flusso originale, e 1s,0s – rende x8 volte più byte. (E Base64 rende x1.3 più dati rispetto all’originale matrice di byte). Quindi a volte è accettabile per codificare il flusso binario come stringa esadecimale, raddoppiando la quantità di byte – per esempio, giusto per negozio di hash della password nel database.
  3. 30

    Itcriptaione richiede una chiave (stringa o algoritmo) per decifrare; quindi, la “cripta” (root:crittografia)

    Itcod.ing modifica/sposta/modifiche di un codice di carattere in un altro. In questo caso, di solito byte di dati che può essere facilmente rappresentato e trasportati tramite il protocollo HTTP.

    • Crittografia significa solo “per eseguire il rendering di nascosto” – basata su chiave di crittografia è una recente invenzione. Enciphering è una forma di codifica che è stato usato come la crittografia dei dati (anche se non da chiunque abbia più di 12 anni per centinaia di anni).
    • Crittografia in volgare è utilizzato per fare riferimento a recenti modalità di crittografia, in particolare computer la crittografia a chiave pubblica/chiave privata). Mentre è vero, non è necessario indicare un valore letterale definizione di un datato parola; in caso contrario, devi essere sostenendo la storica definizione di molte parole usate oggi. Volgare (e a volte colloquiale) sono ciò che dà parole contesto e quindi di definizione.
    • Non credo che si suonava rude; sono d’accordo con il tuo punto su contesto moderno. Le parole e le definizioni sono in continua evoluzione. Penso che “codifica” e “cifra” sicuramente sono due distinte definizioni nell’informatica moderna e la tua risposta fa un buon sforzo a riassumere le differenze.
    • La codifica Base64 è una forma di offuscamento, che significa semplicemente rendere poco chiaro. Per molte applicazioni, è sufficiente la crittografia, dove l’obiettivo è semplicemente quello di manipolare qualsiasi testo in chiaro inviati su un filo, per esempio.
    • No, la codifica base64 non conta come la crittografia, e spero che non la si utilizza per proteggere nulla.
    • di certo non è la crittografia forte, e sono d’accordo che deve essere considerato solo in situazioni che richiedono di crittografia debole. La cura per un esempio?

  4. 19

    Nel linguaggio di tutti i giorni, un “codice”, è qualcosa di segreto. In scienza e ingegneria, un codice è un accordo, un insieme di regole, di come scrivere qualcosa.

    Che il codice può essere segreto. In questo caso, si chiama crittografia. Ma in generale, un codice non è segreto. Prendere il codice genetico. Si afferma semplicemente che il nostro DNA è costruita da quattro basi diverse – A, C, G e T e che tre basi presi insieme formano un aminoacido. C’è anche una tabella di cui tre lettere che amino acido.

    Non c’è niente di segreto di questo codice.

    Allo stesso modo, Base64 non è un codice segreto. Piuttosto, si tratta di un codice che consente la memorizzazione di dati in sei bit per carattere (quindi ci sono 64 le diverse entità, vale a dire la “base” del sistema è a 64, come la base del nostro sistema decimale 10, dato che ci sono 10 diverse entità “cifre”).

  5. 17

    Codifica Base 64 è parte MIME specifiche. Esso fornisce un trasporto sicuro codifica per dati che non masticato su di se/quando viene trasmesso attraverso un host che utilizza un diverso schema di codifica rispetto a quella utilizzata dal client originale.

    Ci sono un sacco di diversi host su intertubes e non si può davvero assumere supporto per qualcosa di diverso in ASCII a 7 bit, senza rischiare la perdita di dati/confusione.

    Mainframe IBM, per esempio, usare la codifica chiamato EBCDIC (che viene fornito in un sacco di sapori diversi). È un carattere completamente diverso dal codice punti basato su caratteri ASCII ‘puter — in ASCII, le lettere A-Z sono 0x41 – 0x5A; in EBCDIC le lettere A – Z non sono nemmeno un intervallo contiguo: le lettere A-io vivo a 0xC1 – 0xC9, le lettere J-R live at 0xD1 – 0xD9 e le lettere S-Z live at 0xE2 – 0xE9.

  6. 0

    Per impostazione predefinita, campo di intestazione del messaggio parametri in Hypertext Transfer Protocol (HTTP) i messaggi non possono portare i personaggi al di fuori ISO 8859-1 set di caratteri.

    Se il nome utente e la password contiene incompatibile charset di HTTP non sarebbe in grado di portare quelli di testo. per evitare questo abbiamo codificare il nome utente e la password con base64 per assicurarsi che si sta inviando HTTP compatibile char su HTTP. per ulteriori informazioni, vedere questo Basic_access_authentication

Lascia un commento