Шифрование строковых данных с помощью CAPICOM.EncryptedData
Шифрование строковых данных. Менеджер криптографии.
Просмотр криптопровайдеров ОС Windows. Инициализация менеджера криптографии.
Шифрование строковых данных с помощью CAPICOM.EnvelopedData
Шифрование с помощью объекта EncryptedData библиотеки CAPICOM является самым простым в реализации, так как в данном случае не требует сертификатов и всего что с ними связано в отличии от объекта EnvelopedData и объекта МенеджераКриптографии языка 1С.
EncryptedData - объект, который предоставляет разработчику свойства и методы для шифрования/дешифрования некой информации с использованием секретного ключа. Этот объект поддерживает следующие симметричные алгоритмы: RC2, RC4, DES, 3DES. Общая схема симметричного шифрования:
Методы объекта:
Функция шифрования:
Функция дешифрования:
Обработку можно скачать по этой ссылке.
Как устанавливается библиотека CAPICOM и почему не стоит ею злоупотреблять описано в статье Вычисление хэш-сумм MD, SHA при помощи CAPICOM.
Просмотр криптопровайдеров ОС Windows. Инициализация менеджера криптографии.
Шифрование строковых данных с помощью CAPICOM.EnvelopedData
Шифрование с помощью объекта EncryptedData библиотеки CAPICOM является самым простым в реализации, так как в данном случае не требует сертификатов и всего что с ними связано в отличии от объекта EnvelopedData и объекта МенеджераКриптографии языка 1С.
EncryptedData - объект, который предоставляет разработчику свойства и методы для шифрования/дешифрования некой информации с использованием секретного ключа. Этот объект поддерживает следующие симметричные алгоритмы: RC2, RC4, DES, 3DES. Общая схема симметричного шифрования:
![]() |
1. Симметричное шифрование |
- Decrypt - выполняет дешифрование данных, используя секретный ключ;
- Encrypt - выполняет шифрование данных, с применением секретного ключа;
- SetSecret - устанавливает секретный ключ.
- Algorithm - алгоритм. используемый для шифрования/дешифрования;
- Content - содержит данные для шифрования либо дешифрованные данные.
Функция шифрования:
// Функция выполняет шифрование строковых данных.
//
// Параметры
// СтроковыеДанные - Строка - данные для шифрования;
// СекретныйКлюч - Строка - ключ, при помощи которого производится дешифрование;
//
// Возвращаемое значение:
// Строка - зашифрованный данные закодированные в Base64.
//
Функция ЗашифроватьСтроку(Знач СтроковыеДанные, СекретныйКлюч)
// Константы.
ECAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM = 0; // Максимальная длина ключа.
CAPICOM_ENCRYPTION_ALGORITHM_RC4 = 1; // Симметричный алгоритм шифрования RC4.
CAPICOM_ENCODE_BASE64 = 0; // Результат шифрование вернуть в формате Base64.
// Инициализируем объект EncryptedData, задач длину ключа, алгоритм и данные для шифрования.
EncryptedData = Новый COMОбъект("CAPICOM.EncryptedData");
EncryptedData.Algorithm.KeyLength = ECAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;
EncryptedData.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_RC4;
EncryptedData.Content = СтроковыеДанные; // нет времени кодировать в UTF-8.
// Установим секретный ключ.
EncryptedData.SetSecret(СекретныйКлюч);
// Шифруем данные.
Возврат EncryptedData.Encrypt(CAPICOM_ENCODE_BASE64);
КонецФункции // ЗашифроватьСтроку()
Функция дешифрования:
// Функция выполняет расшифровку строковых данных.
//
// Параметры
// ЗашифрованныеДанные - Строка - зашифрованный данные закодированные в Base64;
// СекретныйКлюч - Строка - ключ, которым производилось шифрование.
//
// Возвращаемое значение:
// Строка - расшифрованные строковые данные.
//
Функция РасшифроватьСтроку(Знач ЗашифрованныеДанные, СекретныйКлюч)
// Инициализируем объект EnvelopedData и выполняем дешифрацию.
EncryptedData = Новый COMОбъект("CAPICOM.EncryptedData");
EncryptedData.SetSecret(СекретныйКлюч);
EncryptedData.Decrypt(ЗашифрованныеДанные);
Возврат EncryptedData.Content;
КонецФункции // РасшифроватьСтроку()
Обработку можно скачать по этой ссылке.
![]() |
2. Пример работы обработки |
Комментарии
Отправить комментарий