Не удалось неявно преобразовать тип 'string' в 'System.Data.Linq.Binary в LINQ to SQL - PullRequest
1 голос
/ 24 февраля 2012

Я хэшировал пароль, а затем вставляю его в базу данных, но проблема здесь в том, что каждый раз, когда я пытаюсь выполнить этот запрос, это происходит

Cannot implicitly convert type 'string' to 'System.Data.Linq.Binary'

в моей таблице в базе данных.accnt_pass - Binary (50), вот мой код

//Instantiate a new Hasher Object
var hasher = new Hasher();

hasher.SaltSize = 16;

//Encrypts The password
var encryptedPassword = hasher.Encrypt(txtPass.Text);

Account newUser = new Account();

newUser.accnt_User = txtUser.Text;
newUser.accnt_Position = txtPosition.Text;
newUser.accnt_Pass = encryptedPassword; 

, и я использую Encrypto для хеширования,

1 Ответ

6 голосов
/ 24 февраля 2012

Вам необходимо преобразовать строку encryptedPassword в байтовый массив, если ваш столбец sql имеет двоичный тип.Поэтому вместо строки

newUser.accnt_Pass = encryptedPassword;

ставим

System.Text.UTF8Encoding encoding=new System.Text.UTF8Encoding();
newUser.accnt_Pass = new System.Data.Linq.Binary(encoding.GetBytes(encryptedPassword));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...