FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9115
Вход
Шифрование данных с использованием средств криптографии WINDOWS.

Использование объектов CAPICOM позволяет в 3-4 строки шифровать/дешифровать данные с использованием сложных средств криптографии WINDOWS.


 
Прислал: Vit   Категория: Работа с данными


Шифрование данных с использованием средств криптографии WINDOWS.

Использование объектов криптографии CAPICOM в VisualFoxPro

Как известно, средства криптографии включены в состав Windows (по крайней мере, насколько мне известно, начиная с Win95). Для использования этих средств в приложениях, Microsoft любезно предоставила CryptoAPI. Но его использование может показаться сложным для разработчиков на Фоксе не знакомых с языком программирования Си.

Однако есть еще одно решение с помощью которого применение средств криптографии Windows становиться предельно просто, это CAPICOM. Весь код шифрования/дешифрования занимает несколько строк, надо лишь иметь зарегистрированную в системе библиотеку CAPICOM.dll.

Шифрование строки символов

oCAPI = CREATEOBJECT('CAPICOM.EncryptedData')    && создаем объект
oCAPI.Content = "Test Data for encryption"       && шифруемая строка
oCAPI.setsecret("MyPassword")                    && генерируем из пароля ключ шифрования
cEncData = oCAPI.encrypt()                       && Шифруем
release oCAPI                                    && освобождаем объект
? cEncData

Переменная cEncData содержит теперь контент с зашифрованной строкой

Дешифрование

oCAPI = CREATEOBJECT('CAPICOM.EncryptedData')
oCAPI.setsecret("MyPassword")
oCAPI.decrypt(cEncData)
? oCAPI.Content

Свойство Content теперь содержит расшифрованную строку.

Настолько просто, что теперь данные не шифрует только ленивый :0)

При необходимости использования алгоритма шифрования и длины ключа, отличных от используемых по умолчанию необходимо перед вызовом метода setsecret() установить свойства объекта Algorithm - Name и KeyLength.

Например:

oCAPI.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_RC4
oCAPI.Algorithm.KeyLength = CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM

Список констант возможных алгоритмов см CAPICOM.h

При дешифровке нет необходимости указывать алгоритм и длину ключа, поскольку при шифровании, CAPICOM “укладывает” эти данные в контент.

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

Скачать CAPICOM 2.0 можно здесь:
http://download.microsoft.com/download/whistler/Install/2.0/W982KMeXP/EN-US/CC2RINST.EXE

Установка

• Скопируйте CAPICOM.dll в системную папку Windows

• Зарегистрируйте, для этого в папке с установленным CAPICOM.dll в командной строке введите команду:

regsvr32 CAPICOM.dll

CAPICOM 1.0 - может быть использовано в среде Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows ME, Microsoft Windows NT 4.0, Microsoft Windows 2000, Windows XP и Windows .NET Server.
CAPICOM 2.0 - Windows 98, Windows Me, Windows NT 4.0, Windows 2000, Windows XP и Windows .NET Server.
Для обоих CAPICOM 1.0 и CAPICOM 2.0, требуется наличие Microsoft Internet Explorer не младше версии 5.0.


 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.868) Вложение [0.74]kb
Дополнения пользователей
Шифрование данных с использованием средств криптографии WINDOWS.
[+][?]
Nikolai Kremko
11.07.03 01:55:14

Скачать CAPICOM 2.0 теперь можно здесь:
http://download.microsoft.com/download/5/7/9/579f7fa4-217e-438b-b117-e77fd14db181/CC2RINST.EXE
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика