SQL-сервер 2005: какой тип данных использовать для хранения паролей, хешированных алгоритмом SHA-256?

Что касается отказа от подписки, вы должны взглянуть на шаблон takeUntil, изложенный в в этом ответе . Это предпочтительный способ отписаться и избежать утечек памяти. Вы можете изменить свой код на что-то вроде этого:

...
export class UploadComponent implements OnInit, OnDestroy {
   private ngUnsubscribe = new Subject();
...

ngOnDestroy() {
   this.ngUnsubscribe.next();
   this.ngUnsubscribe.complete();
}

deleteFile(id: any) {
   if (window.confirm("Are you sure you want to delete this file?")) {

   this.fileCabinetService.deleteFile(id)
     .pipe(takeUntil(this.ngUnsubscribe))
     .subscribe(
       res => {
        ...
      },
      error => {
        ...
      }
    );
 }
}

Сказав , если вы подписываетесь на @angular/common/http наблюдаемой, вам не нужно отписываться, потому что http вызов службы complete() при возврате данных. Посмотрите на эту реализацию в xhr back-end для деталей:

if (response.ok) {
  responseObserver.next(response);
  // TODO(gdi2290): defer complete if array buffer until done
  responseObserver.complete();
  return;
}

Так что, для @angular/common/http запросов, не беспокойтесь об этом. Для большинства других следуйте шаблону takeUntil.

12
задан kristof 30 October 2008 в 23:37
поделиться

5 ответов

Я предпочитаю преобразовывать хэш-код в Шестнадцатеричную Строку в этом случае, varchar (64) добьется цели или varchar (66), если Вам нравится"0x"-префикс. Таким образом намного легче выдержать сравнение вручную или (ре) установленные значения, к которым Вы имеете скопировать/вставить от других мест. например, Вы потеряли своего администратора-PW, и хотят сбросить его через SQL...

13
ответ дан 2 December 2019 в 06:46
поделиться

Должен произвести 32-байтовое значение (256 битов), таким образом, двоичный файл (32) должен работать.

2
ответ дан 2 December 2019 в 06:46
поделиться

Атрибут "Хеша" класса SHA256Managed является массивом байтов, и HashSize составляет 256 битов, таким образом, я полагаю, что двоичный файл (32) был бы самым простым.

Вы могли, вероятно, также поместить его в varchar поле с помощью ToBase64Transform. Я не абсолютно знаком с Алгоритмом Base64, но кажется, что Вы должны были бы, вероятно, нуждаться по крайней мере в 43 символах для представления числа на 256 битов в основе 64. IIRC Base64 использует пару дополнительных символов, таким образом, я, вероятно, поместил его в varchar (50) только для сейфа.

4
ответ дан 2 December 2019 в 06:46
поделиться

varbinary (32) или двоичный файл (32).

3
ответ дан 2 December 2019 в 06:46
поделиться

SHA-256 имеет вывод на 256 битов

256 битов = 32 байта

Так попробуйте varbinary (32)

1
ответ дан 2 December 2019 в 06:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: