Voy a ejecutar SHA256
en una contraseña + salt, pero no sé por cuánto tiempo crear mi VARCHAR
al configurar la base de datos MySQL. ¿Qué es una buena longitud?¿Cuánto dura el hash SHA256?
Respuesta
Un sha256 tiene 256 bits de longitud, como su nombre indica.
Si está utilizando una representación hexadecimal, cada dígito codifica 4 bits; por lo tanto, necesita 64 dígitos para representar 256 bits; por lo tanto, necesita un varchar(64)
o un char(64)
, ya que la longitud es siempre la misma y no varía en absoluto.
Y la demo:
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
le dará:
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
es decir, una cadena con 64 caracteres.
¿podemos usar char (64) como clave principal o será binario (32) mejor para eso? (access_token) – frankish
Si crees que es posible que quieras bloquear a un usuario en el futuro, entonces sugiero usar 'varchar (65)' para un '!' líder ... solo diciendo. – Manatax
... o simplemente agrega una columna 'bloqueado'? –
¿Por qué lo harías VARCHAR? No varía Siempre tiene 64 caracteres, que pueden determinarse ejecutando cualquier cosa en one of the online SHA-256 calculators.
¿es una declaración válida de mysql (64)? – sepiroth
@hatorade: No, no es una declaración, pero es un tipo de columna válido. –
varchar tampoco asigna espacio a menos que se use, a diferencia de char, asigna la cantidad de caracteres totales permitidos independientemente de si hay datos llenándolo. – Xenland
se fijará 64 caracteres, por lo que utilizan char(64)
Yo prefiero usar binario (32) ya que es la forma optimizada!
Puede colocar en esos 32 dígitos hexadecimales de (00 a FF).
¡Por lo tanto BINARY (32)!
+1 - Me gusta optimizado ... a cualquier otra persona que esté pasando esto ... para usar esto con MySQL ... puede usar 'UPDATE ... SET hash_column = UNHEX (sha256HexString)'.Luego, al recuperarlo, 'SELECT HEX (hash_column) AS hash_column'. –
opciones de codificación de 256 bits de SHA256:
- Base 64: 6 bits por Char =
CHAR(44)
incluyendo carácter de relleno - Hex: 4 bits por Char =
CHAR(64)
- binario: 8 bits por byte =
BINARY(32)
Base64 tiene 3 bytes por 4 caracteres, por lo que, aunque 32 bytes se ajustan a 43 caracteres, en realidad necesita 44. Se agrega un extra = como carácter final – Wilco
- 1. ¿Cuánto dura el evento onLongPress en Android?
- 2. ¿Cuánto dura la URL de ImagesService.getServingUrl?
- 3. ¿Cuánto dura un giro único en ManualResetEventSlim
- 4. hash SHA256 en Python 2.4
- 5. ¿Cuánto dura un 302 redireccionamiento guardado en el navegador?
- 6. ¿Un hash SHA256 siempre tendrá 64 caracteres?
- 7. ¿Cuánto dura la vida de S "..." en Forth?
- 8. SHA256 digest en perl
- 9. ¿Cuánto dura el retraso entre Control.Invoke() y la llamada de su delegado?
- 10. ¿cuánto tiempo dura el almacenamiento de la sesión en iPhone/iPad?
- 11. ¿Cuánto vale el hash de contraseñas en java para seguridad?
- 12. Descifrar SHA256
- 13. ¿Cuánto tiempo dura la cadena de fabricante de un dispositivo USB?
- 14. ¿Cómo le digo a gdb cuánto dura mi matriz de longitud cero?
- 15. ¿Cuánto dura la animación de la transición entre vistas en un UINavigationController?
- 16. Calcular e imprimir el hash SHA256 de un archivo usando OpenSSL
- 17. ¿Cómo se ve la cadena hexadecimal SHA256?
- 18. ¿Cuántos hashes SHA256 puede computar una computadora moderna?
- 19. Generar sha256 con OpenSSL y C++
- 20. Generando SHA256 en iphone/Objective C ...?
- 21. En general, ¿cuánto tiempo dura el proceso de revisión de las aplicaciones de Windows Phone 7 Marketplace?
- 22. sha256 función Indefinido()
- 23. Generando un hash SHA256 con Crypto ++, usando una cadena como entrada y salida?
- 24. ¿Biblioteca que proporciona varios algoritmos de hash (MD5, SHA1, SHA256, etc.) en Java?
- 25. Generar SHA256 cadena en C Objetivo
- 26. función sha256 en SQL Server
- 27. Computar SHash SHA256 en Android/Java y C#
- 28. cuánto hace el destructor predeterminado
- 29. ¿Cómo funciona el objeto Aspose License? ¿Dura para siempre?
- 30. ¿Cómo convertir el taquigrafía de CSS a mano dura?
Antes de que cualquiera que lea esto decide seguir este consejo y use 'SHA- *' para contraseñas hash, [POR FAVOR lea esto primero] (https: //security.stackexchan ge.com/questions/16354/whats-the-advantage-of-using-pbkdf2-vs-sha256-to-generate-an-aes-encryption-key). – c00000fd
Un blog detallado con un ejemplo: http: //sforsuresh.in/mysql_varchar_max_length/ –