После тестирования и проверки того, что моя функция Send_email успешно проходит аутентификацию с использованием жестко запрограммированного пользователя и пароля в таблице SQL, я сейчас пытаюсь хешировать пароль.
способ настройки моих столбцов выглядит примерно так:
переменная |значение
пароль |someP @ ssword
столбцы оба varchar, с длиной столбца значения 1000 (это слишком много? Я установил его так много, потому что я прочитал, что sha 512 требует много длины или чего-то еще, и увиделпримеры, использующие по крайней мере 1000, поэтому пошли с этим)
Я использую этот запрос для хеширования,
INSERT INTO [dbo].[Table] (value)
VALUES(HASHBYTES('SHA2_512', 'someP@ssword'))
, но он генерирует недвоичный хэш, который я подозреваю, поэтому я получаю этоошибка аутентификации электронной почты не удалась, потому что она, вероятно, не может расшифровать символы недвоичного пароля.но проблема в том, что у меня есть другие значения в столбце значений, поэтому я не могу преобразовать весь столбец в varbinary.
так есть ли способ хеширования пароля, который жестко закодирован, или я должен вставить его как хеш?или есть способ, которым я могу преобразовать только это конкретное поле / ячейку, не меняя остальную часть дизайна столбца значений, чтобы это не повлияло и на другие значения?или я должен создать совершенно отдельный столбец для пароля и установить его в двоичный файл?
РЕДАКТИРОВАТЬ: я должен передать пароль в этом вызове функции электронной почты для аутентификации:
Send-EMail -EmailFrom $From_Email -SendTo $To_Email -Body $Email_Body -Subject $Job_Success_Email_Subject -Username $SmtpUser -Password $SmtpPassword
, ноФон в комментарии сказал, что я не могу передать хешированный пароль в качестве учетных данных.тогда это означает, что я должен держать это не замешанным в таблице?я думал, что хеширование будет отлично работать в этой ситуации ...