Шифрование данных с использованием средств криптографии 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.
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 260CapiCom | .zip | 758,00 Б |