2011-06-30 8 views

Respuesta

3

sha1 devuelve una cadena binaria. Algunas funciones sha1 pueden, por conveniencia, también codificar esa cadena binaria en hexadecimal o base64; de ser así, el resultado será caracteres ASCII. Pero sha1 en sí mismo no devuelve ASCII.

+1

Para exponer sobre esto, SHA1 devuelve un número (grande). Algunos eligen representar ese número como una cadena de caracteres hexadecimales. Sin embargo, si llama a una biblioteca que tiene una función SHA1, no necesariamente espera que le devuelva una cadena ASCII. Siempre RTFM. –

2

SHA1 devuelve 20 bytes. SHA1 no se ocupa de las codificaciones, texto ASCII, etc.

Una forma común para representar datos binarios es mediante la codificación en hexadecimal - en este caso, la salida es siempre [af] [0-9]

6

Depende, pero estrictamente hablando, no. La salida del hash SHA-1 es de 160 bits, o 20 bytes, pero no se garantiza que los bytes estén en el rango ASCII.

Sin embargo, algunas funciones hash producen el equivalente hexadecimal (es decir, 40 caracteres) de los 20 bytes, por lo que si los primeros tres bytes del hash real son 0x7e, 0x03 y 0xb2, la salida comenzaría con "7e03b2", en cuyo caso, la salida es ASCII.

Cuestiones relacionadas