ШифрованиеДанных
Стд::Криптография::ШифрованиеДанных
Позволяет зашифровать и расшифровать Данные ключ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)