Tengo una tabla en la que el campo userpassword tiene varbinary datatype, así que estoy confundido en qué forma debo guardar los datos en el campo userpassword porque cuando guardo datos varchar me dio error.¿Qué datos pueden almacenarse en el tipo de datos varbinary de SQL Server?
Respuesta
Una columna varbinary
puede almacenar cualquier cosa. Para almacenar una cadena en ella, habría que echarlo a varbinary
:
declare @t table (id int identity, pwd varbinary(50))
insert into @t (pwd) values (cast('secret' as varbinary(50)))
Pero una contraseña, una columna varbinary
por lo general las tiendas de un hash de algún tipo. Por ejemplo, un hash SHA1 utilizando el HashBytes
function:
insert into @t (pwd) values (HashBytes('sha1', 'secret'));
Almacenamiento de un hash de una sola vía en lugar de la contraseña real es más seguro. Puede verificar si la contraseña coincide:
select * from @t where pwd = HashBytes('sha1', 'secret')
Pero no hay forma de que pueda recuperar la contraseña mirando la tabla. Entonces, solo el usuario final conoce su contraseña, y ni siquiera el DBA puede recuperarla.
Deberá emitir explícitamente el VARCHAR.
SELECT CAST(N'Test' as VARBINARY)
El mensaje de error del SQL Server dice.
La conversión implícita de tipo de datos varchar a varbinary no es permitida.
SQL Server requiere una conversión explícita de varchar to varbinary, como por la gran mesa de CAST y CONVERT en MSDN
La mesa tendrá una columna varbinary para almacenar valores hash según sys.sql_logins
- 1. VarBinary vs Image SQL Server ¿Tipo de datos para almacenar datos binarios?
- 2. SQL Server Hexadecimal tipo de datos
- 3. SQL Server 2008 R2 Varbinary Max Size
- 4. Tipo de datos sql para clave principal - SQL Server?
- 5. Trabajando con el tipo de datos XML de SQL Server
- 6. El tipo de datos decimales de MS SQL Server redondea
- 7. Espacio real máximo en varbinary (max) en SQL Server
- 8. SQL Server varbinary (max) a Image data type
- 9. la conversión de datos de SQL Server VARBINARY en cadena de C#
- 10. podemos tener datos de tipo matriz en SQL Server 2008
- 11. Tipo de datos XML En SQL Server 2008 Query
- 12. varbinary a cadena en SQL Server
- 13. Recuperación ad-hoc de datos de la columna varbinary de SQL Server
- 14. Script para guardar datos varbinary en el disco
- 15. cláusula WHERE de SQL Server "texto" tipo de datos
- 16. SQL Server Tipo de datos XML y QUOTED_IDENTIFIER
- 17. Crear datos de prueba en SQL Server
- 18. SQL Server equivalente al tipo de datos enum de MySQL?
- 19. ¿Qué tipo de datos se debe usar para almacenar números de teléfono en SQL Server 2005?
- 20. Buscar registros duplicados binarios SQL Server 2008 (Imagen de tipo de datos)
- 21. ¿Qué tipo de SqlDbType se asigna a varBinary (max)?
- 22. tabla de actualización de la inserción de datos VARBINARY
- 23. ¿Qué tipo de datos Java corresponde al tipo de datos Oracle SQL NUMERIC?
- 24. Recuperar varbinary (MAX) de SQL Server a byte [] en C#
- 25. Cambiar el tipo de columna de ntext a varbinary (max)
- 26. ¿Qué tipo de datos usar al almacenar datos de latitud y longitud en bases de datos SQL?
- 27. SQL Server: Obtener datos el año pasado
- 28. Servidor SQL: Comprobando el tipo de datos de una columna
- 29. ¿Cuál es el tipo de datos equivalente de Numérico de SQL Server en C#
- 30. Auditoría de datos de SQL Server cambia
puedo almacenar archivos en bruto como un archivo de audio? – JerryGoyal
@JerryGoyal sí. Otra cosa que se hace comúnmente, es almacenar archivos más grandes en el disco, y simplemente almacenar las rutas de archivos en la DB, aunque – iliketocode