Perché così tante stringhe hash e crittografate finiscono in un segno di uguale?

60

Lavoro in C # e MSSQL e, come ti aspetteresti, memorizzo le mie password salate e con hash.

Quando guardo l'hash memorizzato in una colonna nvarchar (ad esempio il provider di appartenenza aspnet out the box). Sono sempre stato curioso del motivo per cui i valori di Salt e Hash generati sembrano sempre finire in uno o due segni di uguale.

Ho visto cose simili mentre lavoravo con algoritmi di crittografia, è questa coincidenza o c'è una ragione per questo?

    
posta Liath 17.06.2014 - 11:15
fonte

2 risposte

90

Queste stringhe hash sono (di solito?) codificate nel formato Base64 e il segno di uguale è usato per riempire la stringa per rendere la lunghezza (numero di byte) divisibile per tre. Wikipedia lo spiega abbastanza bene: link .

    
risposta data 17.06.2014 - 11:22
fonte
33

Potrebbe essere il riempimento della codifica Base 64?

La sequenza '==' indica che l'ultimo gruppo conteneva solo un byte e '=' indica che conteneva due byte. L'esempio seguente illustra come il troncamento dell'input dell'intera citazione sopra cambia il padding di output:

link

    
risposta data 17.06.2014 - 11:22
fonte

Leggi altre domande sui tag