Форум программистов, компьютерный форум, киберфорум
bedvit
Войти
Регистрация
Восстановить пароль

Хеширование строки алгоритмами SHA (СОМ-реализация) + шифрование AES

Запись от bedvit размещена 03.11.2020 в 11:13
Показов 4333 Комментарии 0
Метки com, vb

Реализация в СОМ. Реализация для XLL как функция COM.DLL
Часть библиотеки BedvitCOM
Использованы исходники Crypto++

Функция:
HashStringSHA(StringIn, VersionSHA)

Параметры функции:
1.StringIn - входящая строка
2.VersionSHA - версия алгоритма SHA

Поддержка следующих алгоритмов (+ новейшие SHA3) :
VersionSHA = 1, SHA1
VersionSHA = 2224, SHA2_224
VersionSHA = 2256, SHA2_256
VersionSHA = 2384, SHA2_384
VersionSHA = 2512, SHA2_512
VersionSHA = 3224, SHA3_224
VersionSHA = 3256, SHA3_256
VersionSHA = 3384, SHA3_384
VersionSHA = 3512, SHA3_512



Upd 14.06.2023
Начиная с версий COM.v3.5 и XLL.dll_v4.6 HashStringSHA() замена на аналогичную функцию с поддержкой UTF8 SHAstrUTF8()
Параметры функции:
1.StringIn - входящая строка
2.VersionSHA - версия алгоритма SHA
3.charLower - вывод результата в нижнем регистре (опционально, по умолчанию FALSE)

Пример использования
Visual Basic
1
2
3
4
Sub SHA_1()
Dim bCOM As New BedvitCOM.VBA
Debug.Print bCOM.SHAstrUTF8("String", 1) 'VersionSHA = 1,       SHA1
End Sub
+Добавлены новые с поддержкой UTF8 :
MDstrUTF8()
Параметры функции:
1.StringIn - входящая строка
2.versionMD- версия алгоритма MD
3.charLower - вывод результата в нижнем регистре (опционально, по умолчанию FALSE)

Поддержка следующих алгоритмов:
versionMD = 5,        MD5

AES128strUTF8() - симметричный алгоритм блочного шифрования
Параметры функции:
1.StringIn - входящая строка
2.key- ключ должен быть длинной 128, 256 bit (16, 32 Byte).
3.decrypt - decrypt/encrypt (true/false)
4.mode - Supporter mode : ECB, CBC, OFB, CFB, CBC-CTS, CTR
5.initializationVectorIV - an initialization vector (IV)
6.str_format_hex - вывод результата в формате Hex/Base64 (true/false)



Upd 21.01.2024
Начиная с версий BedvitCOM.dll_v4.0 и BedvitXLL.dll_v5.0
Функция AES128strUTF8() - переименована в AESstrUTF8(), т.к. 128 или 256 bit зависит от длины ключа, который введет пользователь 16 или 32 символа (EN - 1 байт и RU - 2 байта на символ в utf-8 соответственно)
AESstrUTF8() - изменились индексы алгоритмов шифрования, теперь у всех функций по шифрованию одинаковые индексы для алгоритмов AES
Метки com, vb
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Оптимизация производительности Express.js бэкенда
Reangularity 23.05.2025
Express. js заслуженно остаётся одним из самых популярных инструментов для создания бэкенда, но даже он не застрахован от проблем с производительностью. Многие разработчики сталкиваются с ситуацией,. . .
Продвинутая обработка данных с LINQ в C#
stackOverflow 23.05.2025
LINQ (Language Integrated Query) — это фундаментальное изменение парадигмы работы с данными в C#. Простые запросы Where и Select знакомы любому разработчику, но настоящая мощь LINQ раскрывается в. . .
Инфраструктура PKI и сертификатов безопасности
Mr. Docker 23.05.2025
PKI (Public Key Infrastructure) — это невидимый фундамент цифрового доверия, без которого современный интернет просто рассыпался бы как карточный домик. За этой аббревиатурой скрывается целый. . .
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru