type to_number ejemplo data cast array sql-server bytearray sqlcommand

sql server - to_number - Guardar matriz de bytes en el servidor SQL



to_number sql server (3)

No sé qué edad tiene, pero recomendaría nvarchar (45) y Base64 sus 32 bytes en una cadena. Esta es la forma estándar de guardar un hash. Alternativamente, podría hacer nvarchar (64) y almacenarlo como una cadena hexadecimal.

Estoy tratando de usar un enfoque para guardar contraseñas que requiera usar una matriz de bytes como en esta post

Entonces, ¿qué tipo de datos debo usar en el servidor SQL para guardar la matriz de bytes? y ¿cómo puedo pasar y recuperar la matriz de bytes mediante SqlCommand?


Simplemente use un byte[] la misma forma que lo haría con cualquier otro parámetro, especificando SqlDbType.Binary como el tipo de parámetro. Aquí una muestra en C #

// Generate your password hash some way byte[] passwordHash = new byte[] { 0x0, 0x1, 0x2 ... }; ... command.Parameters.Add("@passwordHash", SqlDbType.Binary); command.Parameters["@passwordHash"].Value = passwordHash;

O si prefieres VB.NET

'' Generate your password hash some way Dim passwordHash As Byte() = New Byte() { &H0, &H1, &H2 ... } ... command.Parameters.Add("@passwordHash", SqlDbType.Binary) command.Parameters("@passwordHash").Value = passwordHash


Si siempre va a tener la misma longitud, entonces sería adecuado el binary(length) . Si va a variar en longitud, use varbinary(maxlength) .

binario y varbinary .

Y, como dice @pswg, lo pasa del código colocándolo en un parámetro adecuado.