Структуры защищенной памяти.NET

Модернизированные классы наследовались от object и должны быть записаны как таковой в Python 2.2 вперед (т.е. class Classname(object): вместо class Classname:). Базовое изменение должно объединить типы и классы, и хороший побочный эффект этого состоит в том, что оно позволяет Вам наследоваться встроенным типам.

Read descrintro для получения дополнительной информации.

9
задан John Saunders 22 July 2009 в 18:44
поделиться

3 ответа

Не существует "лучшего" способ сделать это - вам необходимо идентифицировать угрозу, от которой вы пытаетесь защитить, чтобы решить, что делать или действительно ли что-то нужно сделать.

Следует отметить, что, в отличие от неизменяемой строки, вы можете обнулить байты в массиве байтов после того, как закончите с ними, так что у вас не будет того же набора проблем, для решения которого предназначена SecureString.

Шифрование данных может быть подходящим для некоторого набора проблем, но тогда вам нужно будет определить, как защитить ключ от несанкционированного доступа.

Мне трудно представить ситуацию, в которой такое шифрование байтового массива было бы полезно. Более подробная информация о том, что именно вы пытаетесь сделать, может помочь.

Мы закончили с ними, поэтому у вас не будет того же набора проблем, для решения которого предназначена SecureString.

Шифрование данных может быть подходящим для некоторого набора проблем, но тогда вам нужно будет определить, как защитить ключ от несанкционированный доступ.

Мне трудно представить ситуацию, в которой такое шифрование байтового массива было бы полезно. Более подробная информация о том, что именно вы пытаетесь сделать, может помочь.

Мы закончили с ними, поэтому у вас не будет того же набора проблем, для решения которого предназначена SecureString.

Шифрование данных может быть подходящим для некоторого набора проблем, но тогда вам нужно будет определить, как защитить ключ от несанкционированный доступ.

Мне трудно представить ситуацию, в которой такое шифрование байтового массива было бы полезно. Более подробная информация о том, что именно вы пытаетесь сделать, может помочь.

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

Один вариант:

Вы можете хранить байты в потоке памяти, зашифрованные с использованием любого из поставщиков в пространстве имен System.Security.Cryptography .

0
ответ дан 4 December 2019 в 11:07
поделиться

Вы можете использовать SecureString для хранения байтового массива.

  SecureString testString = new SecureString();

  // Assign the character array to the secure string.
  foreach (byte b in bytes)
     testString.AppendChar((char)b);

тогда вы просто обращаете процесс обратно, чтобы вернуть байты.


Это не единственный способ, вы всегда можете использовать MemoryBuffer и что-то из System.Security.Cryptography. Но это единственное, что специально разработано для обеспечения такой безопасности. Все остальные вам придется создать с помощью System.Security.Cryptography, что, вероятно, является лучшим вариантом для вас.

1
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

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