Buenas Tardes palmercado,
Te confieso que no he trabajado con Encriptación en SQL Server, pero recuerdo de algunos cursos que he tomado que la función EncryptByAsymKey devuelve un tipo de dato varbinary de hasta 8000 bytes, por lo que creo que la declaración de tu tabla debería ser así:
Código SQL:
Ver originalCREATE TABLE [dbo].[Usuario](
[Id_Usuario] [INT] IDENTITY(100,1) NOT NULL,
[Usuario] [nvarchar](15) NOT NULL,
[Password] [varbinary](8000) NOT NULL,
[Id_Perfil] [INT] NOT NULL,
[Status_Usuario] [bit] NOT NULL)
Como lo tienes entonces estarías truncando caracteres, ejecuta esto para que te des cuenta de lo que te regresa la función:
Código SQL:
Ver originalSELECT ENCRYPTBYASYMKEY(@KeyId, CAST(@Password AS varbinary (15)))
Haz la prueba y nos comentas.
Saludos
Leo