Link Search Menu Expand Document

ШифрованиеДанных

Стд::Криптография::ШифрованиеДанных
Базовые типы: Объект

Иерархия типа

graph BT;
ШифрованиеДанных-->Объект;

Позволяет зашифровать и расшифровать Данные ключoм по симметричному или асимметричному алгоритму шифрования.

Сравнение ссылочное


Конструкторы

ШифрованиеДанных

ШифрованиеДанных(
  ОперацияШифрования: ОперацияШифрования,
  Ключ: ЗакрытыйКлюч|ОткрытыйКлюч,
  Алгоритм: Строка? = Неопределено,
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
Перегрузка:
ШифрованиеДанных(ОперацияШифрования: ОперацияШифрования, Ключ: СекретныйКлюч, Преобразование: ПреобразованиеСимметричногоШифрования|Строка, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено, ВекторИнициализации: Байты? = Неопределено)

Создает новый экземпляр объекта для шифрования данных, где тип ОперацияШифрования - перечисление. Если значение аргумента Алгоритм Неопределенои значение параметра Алгоритм в используемом ключе Ключ не равно RSA, используется значение алгоритма из объекта ключа. Если значение аргумента Алгоритм = Неопределено и значение параметра Алгоритм в используемом ключе Ключ равно RSA, в качестве значения алгоритма используется RSA/ECB/PKCS1Padding. Если значение криптопровайдера Неопределено, криптопровайдер будет подобран автоматически для алгоритма, либо выброшено исключение.

Исключения

ИсключениеКриптографии - при создании экземпляра объекта. Например: указан неподдерживаемый провайдер, или для указанного провайдера алгоритм не найден, или название алгоритма шифрования указано некорректно, или вид ключа не соответствует алгоритму шифрования.

Примеры


    знч ГенераторRsa = новый ГенераторПарыКлючей(АлгоритмАсимметричногоШифрования.Rsa)
    знч Пара = ГенераторRsa.СоздатьПаруКлючей()
    знч Шифр = новый ШифрованиеДанных(ОперацияШифрования.Зашифровать, Пара.ОткрытыйКлюч)
    знч Результат = Шифр.ПолучитьРезультат("1234567890".ВБайты())


ШифрованиеДанных

ШифрованиеДанных(
  ОперацияШифрования: ОперацияШифрования,
  Ключ: СекретныйКлюч,
  Преобразование: ПреобразованиеСимметричногоШифрования|Строка,
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено,
  ВекторИнициализации: Байты? = Неопределено)
Перегрузка:
ШифрованиеДанных(ОперацияШифрования: ОперацияШифрования, Ключ: ЗакрытыйКлюч|ОткрытыйКлюч, Алгоритм: Строка? = Неопределено, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)

Создает новый экземпляр объекта для шифрования данных, где тип ОперацияШифрования - перечисление. Если значение криптопровайдера Неопределено, криптопровайдер будет подобран автоматически для преобразования, либо выброшено исключение. ВекторИнициализации используется при шифровании данных секретным ключом в некоторых преобразованиях для симметричных алгоритмов, например AES/CBC

Исключения

ИсключениеКриптографии - при создании экземпляра объекта. Например: указан неподдерживаемый провайдер, или преобразование симметричного шифрования указано некорректно, или вектор инициализации некорректен, или вид ключа не соответствует преобразованию шифрования.

ИсключениеНедопустимыйАргумент - если аргумент ВекторИнициализации необходим для данного алгоритма, но содержит недопустимое значение

Примеры


    знч ГенераторAes = новый ГенераторСекретногоКлюча(АлгоритмСимметричногоШифрования.Aes)
    знч СекретныйКлюч = ГенераторAes.СоздатьСекретныйКлюч()
    знч Шифр = новый ШифрованиеДанных(ОперацияШифрования.Зашифровать, СекретныйКлюч, ПреобразованиеСимметричногоШифрования.AesEcb)
    знч Результат = Шифр.ПолучитьРезультат("1234567890".ВБайты())


Свойства

Алгоритм

ТолькоЧтение Алгоритм: Строка

Возвращает название алгоритма шифрования.


Криптопровайдер

ТолькоЧтение Криптопровайдер: Криптопровайдер?

Выбранный криптопровайдер.


ОперацияШифрования

ТолькоЧтение ОперацияШифрования: ОперацияШифрования

Методы

ДобавитьДанные

ДобавитьДанные(Данные: Байты): Байты?

Позволяет добавить часть данных Данные и зашифровать или расшифровать ключом по симметричному или асимметричному алгоритму шифрования. Возвращает зашифрованную часть данных. Если размер данных меньше размера буфера для данного алгоритма, возвращаемое значение будет Неопределено

Исключения

ИсключениеКриптографии - если произошла ошибка шифрования данных. Например: блок данных слишком большой для шифрования по заданному алгоритму.

ИсключениеНедопустимыйАргумент - если размер аргумента Данные равен нулю.

Примеры


    знч ГенераторRsa = новый ГенераторПарыКлючей(АлгоритмАсимметричногоШифрования.Rsa)
    знч Пара = ГенераторRsa.СоздатьПаруКлючей()

    знч Шифр = новый ШифрованиеДанных(ОперацияШифрования.Зашифровать, Пара.ОткрытыйКлюч)
    знч РезультатПромежуточный = Шифр.ДобавитьДанные("asdfghjkl".ВБайты())
    знч РезультатДоп = Шифр.ПолучитьРезультат("1234567890".ВБайты())


Зашифровать

Статический Зашифровать(
  Данные: Байты,
  Ключ: ЗакрытыйКлюч|ОткрытыйКлюч,
  Алгоритм: Строка? = Неопределено,
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
): Байты
Перегрузка:
Зашифровать(Данные: Байты, Ключ: СекретныйКлюч, Преобразование: ПреобразованиеСимметричногоШифрования|Строка, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено, ВекторИнициализации: Байты? = Неопределено): Байты

Позволяет зашифровать Данные асимметричным ключом Ключ, с использованием алгоритма шифрования Алгоритм и криптопровайдера Криптопровайдер. Если значение аргумента Алгоритм Неопределенои значение параметра Алгоритм в используемом ключе Ключ не равно RSA, используется значение алгоритма из объекта ключа. Если значение аргумента Алгоритм = Неопределено и значение параметра Алгоритм в используемом ключе Ключ равно RSA, в качестве значения алгоритма используется RSA/ECB/PKCS1Padding. Если значение криптопровайдера Неопределено, криптопровайдер будет подобран автоматически для алгоритма, либо выброшено исключение.

Исключения

ИсключениеКриптографии - если произошла ошибка шифрования данных. Например: указан неподдерживаемый провайдер, или для указанного провайдера алгоритм не найден, или название алгоритма шифрования указано некорректно, или вид ключа не соответствует указанному алгоритму шифрование.

Примеры


    знч ГенераторRsa = новый ГенераторПарыКлючей(АлгоритмАсимметричногоШифрования.Rsa)
    знч Пара = ГенераторRsa.СоздатьПаруКлючей()

    знч РезультатСт = ШифрованиеДанных.Зашифровать("1234567890".ВБайты(), Пара.ОткрытыйКлюч, "RSA")
    знч РезультатОбратныйСт = ШифрованиеДанных.Расшифровать(РезультатСт, Пара.ЗакрытыйКлюч, "RSA")


Зашифровать

Статический Зашифровать(
  Данные: Байты,
  Ключ: СекретныйКлюч,
  Преобразование: ПреобразованиеСимметричногоШифрования|Строка,
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено,
  ВекторИнициализации: Байты? = Неопределено
): Байты
Перегрузка:
Зашифровать(Данные: Байты, Ключ: ЗакрытыйКлюч|ОткрытыйКлюч, Алгоритм: Строка? = Неопределено, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено): Байты

Позволяет зашифровать Данные симметричным ключом Ключ, с использованием преобразования симметричного шифрования Преобразование и криптопровайдера Криптопровайдер. Значение аргумента Преобразование также может быть задано строкой. Пример: “AES/ECB/PKCS5Padding”. Если значение криптопровайдера Неопределено, криптопровайдер будет подобран автоматически для преобразования, либо выброшено исключение. ВекторИнициализации используется при шифровании данных секретным ключом в некоторых режимах симметричных алгоритмов, например CBC для AES.

Исключения

ИсключениеКриптографии - если произошла ошибка шифрования данных Например: указан неподдерживаемый провайдер, или преобразование симметричного шифрования указано некорректно, или вектор инициализации некорректен, или вид ключа не соответствует преобразованию шифрования.

ИсключениеНедопустимыйАргумент - если аргумент ВекторИнициализации необходим для данного алгоритма, но содержит недопустимое значение

Примеры


    знч ГенераторAes = новый ГенераторСекретногоКлюча(АлгоритмСимметричногоШифрования.Aes)
    знч СекретныйКлюч = ГенераторAes.СоздатьСекретныйКлюч()

    знч РезультатСт = ШифрованиеДанных.Зашифровать("12345678901".ВБайты(), СекретныйКлюч, ПреобразованиеСимметричногоШифрования.AesEcb)
    знч РезультатОбратныйСт = ШифрованиеДанных.Расшифровать(РезультатСт, СекретныйКлюч, ПреобразованиеСимметричногоШифрования.AesEcb)


ПолучитьРезультат

ПолучитьРезультат(Данные: Байты? = Неопределено): Байты

Позволяет добавить Данные и зашифровать или расшифровать ключом по симметричному или асимметричному алгоритму шифрования. Если данные добавлять не требуется, аргумент должен иметь значение Неопределено. Возвращает последнюю зашифрованную часть данных, если перед этим был вызван метод ДобавитьДанные и в буфере оставались невозвращенные данные, а также зашифрованные данные Данные

Алгоритм шифрования содержится в объекте ключа.

Исключения

ИсключениеКриптографии - если произошла ошибка шифрования данных. Например: блок данных слишком большой для шифрования по заданному алгоритму.

Примеры


    знч ГенераторAes = новый ГенераторСекретногоКлюча(АлгоритмСимметричногоШифрования.Aes)
    знч СекретныйКлюч = ГенераторAes.СоздатьСекретныйКлюч()
    знч Шифр = новый ШифрованиеДанных(ОперацияШифрования.Зашифровать, СекретныйКлюч, ПреобразованиеСимметричногоШифрования.AesEcb)
    знч Результат = Шифр.ПолучитьРезультат("1234567890".ВБайты())


Расшифровать

Статический Расшифровать(
  Данные: Байты,
  Ключ: ЗакрытыйКлюч|ОткрытыйКлюч,
  Алгоритм: Строка? = Неопределено,
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
): Байты
Перегрузка:
Расшифровать(Данные: Байты, Ключ: СекретныйКлюч, Преобразование: ПреобразованиеСимметричногоШифрования|Строка, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено, ВекторИнициализации: Байты? = Неопределено): Байты

Позволяет расшифровать Данные асимметричным ключом Ключ, с использованием алгоритма шифрования Алгоритм и криптопровайдера Криптопровайдер. Если значение аргумента Алгоритм Неопределенои значение параметра Алгоритм в используемом ключе Ключ не равно RSA, используется значение алгоритма из объекта ключа. Если значение аргумента Алгоритм = Неопределено и значение параметра Алгоритм в используемом ключе Ключ равно RSA, в качестве значения алгоритма используется RSA/ECB/PKCS1Padding. Если значение криптопровайдера Неопределено, криптопровайдер будет подобран автоматически для алгоритма, либо выброшено исключение.

Исключения

ИсключениеКриптографии - если произошла ошибка шифрования данных. Например: указан неподдерживаемый провайдер, или для указанного провайдера алгоритм не найден, или название алгоритма шифрования указано некорректно, или вид ключа не соответствует указанному алгоритму шифрование.

Примеры


    знч ГенераторRsa = новый ГенераторПарыКлючей(АлгоритмАсимметричногоШифрования.Rsa)
    знч Пара = ГенераторRsa.СоздатьПаруКлючей()

    знч РезультатСт = ШифрованиеДанных.Зашифровать("1234567890".ВБайты(), Пара.ОткрытыйКлюч, "RSA")
    знч РезультатОбратныйСт = ШифрованиеДанных.Расшифровать(РезультатСт, Пара.ЗакрытыйКлюч, "RSA")


Расшифровать

Статический Расшифровать(
  Данные: Байты,
  Ключ: СекретныйКлюч,
  Преобразование: ПреобразованиеСимметричногоШифрования|Строка,
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено,
  ВекторИнициализации: Байты? = Неопределено
): Байты
Перегрузка:
Расшифровать(Данные: Байты, Ключ: ЗакрытыйКлюч|ОткрытыйКлюч, Алгоритм: Строка? = Неопределено, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено): Байты

Позволяет расшифровать Данные симметричным ключом Ключ, с использованием преобразования симметричного шифрования Преобразование и криптопровайдера Криптопровайдер. Значение аргумента Преобразование также может быть задано строкой. Пример: “AES/ECB/PKCS5Padding”. Если значение криптопровайдера Неопределено, криптопровайдер будет подобран автоматически для преобразования, либо выброшено исключение. ВекторИнициализации используется при шифровании данных секретным ключом в некоторых режимах симметричных алгоритмов, например CBC для AES.

Исключения

ИсключениеКриптографии - если произошла ошибка шифрования данных. Например: указан неподдерживаемый провайдер, или преобразование симметричного шифрования указано некорректно, или вектор инициализации некорректен, или вид ключа не соответствует преобразованию шифрования.

ИсключениеНедопустимыйАргумент - если аргумент ВекторИнициализации необходим для данного алгоритма, но содержит недопустимое значение

Примеры


    знч ГенераторAes = новый ГенераторСекретногоКлюча(АлгоритмСимметричногоШифрования.Aes)
    знч СекретныйКлюч = ГенераторAes.СоздатьСекретныйКлюч()

    знч РезультатСт = ШифрованиеДанных.Зашифровать("12345678901".ВБайты(), СекретныйКлюч, ПреобразованиеСимметричногоШифрования.AesEcb)
    знч РезультатОбратныйСт = ШифрованиеДанных.Расшифровать(РезультатСт, СекретныйКлюч, ПреобразованиеСимметричногоШифрования.AesEcb)


Список унаследованных методов

Объект