Кодирование Base64

27.02.25

Разработка - Защита ПО и шифрование

Обработка кодирования декодирования строки алгоритмом Base64 через использования потоков.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Кодирование Base64 через Текстовый поток:
.epf 6,68Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.
Кодирование Base64:
.epf 6,38Kb
17
17 Скачать (1 SM) Купить за 1 850 руб.

Появилась задача кодировать строку алгоритмом Base64 для отправки данных на сайт. В 1С есть стандартные функции для этого Base64Значение() и Base64Строка(). При попытке кодировать ими результат не совпадал с эталонным на сайте http://www.base64.ru, делалось это через временный файл. Путем чтения документации, стало понятно, что 1С добавляет в файл доп. информацию которую нужно отбрасывать. Но все это было как-то не красиво, кроме того использование временных файлов для этой задачи, тоже не очень понравилось. Было принято решение попробовать использовать потоки которые появились на платформе 8.3. Путем проб и ошибок был получен очень лаконичный и быстрый код для кодировки, результаты которого полностью совпадают с  www.base64.ru и проходят проверки на сайте.

Обработку можно использовать как с практическими целями, так и для получения кода работы с потоками для данной задачи.

Версия платформы на которой проверялась обработка 8.3.13.1690, обработка на управляемых формах.

UPD: Добавлена возможность кодирования/декодирования через текстовый формат. Кнопка "Преобразовать через текст", т.к. через данные преобразование может происходить не всегда точно.

 

 

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.169.18

base64 обработка кодирование декодирование сайт отправка

См. также

Защита ПО и шифрование Программист Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Небольшой пример - "лайф-хак" по установке собственного пароля на отчет или обработку, не втягивая в это RLS.

3 стартмани

06.03.2025    1613    1    aximo    23    

14

Защита ПО и шифрование Программист Платформа 1С v8.3 Бесплатно (free)

В статье приведен простой способ защиты кода внешней обработки от несанкционированного доступа (если это необходимо).

30.12.2024    5589    artemusII    17    

10

Защита ПО и шифрование Программист Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

09.02.2023    3138    14    aximo    5    

2

Защита ПО и шифрование Программист Абонемент ($m)

Для установки защиты pdf документа, полученного в 1С, написано консольное приложение на c#., использующее одну зависимость pdfSharp.dll. В результате работы приложения ограничены операции над документом и записаны метаданные. С помощью аргументов командной строки можно управлять работой приложения.

2 стартмани

30.01.2023    2369    2    olevlasam    3    

3

Защита ПО и шифрование Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Универсальный синтаксический анализатор ASN.1, который может декодировать любую допустимую структуру ASN.1 DER или BER, независимо от того, закодирована ли она в кодировке Base64 (распознаются необработанные base64, защита PEM и begin-base64) или в шестнадцатеричном кодировании.

1 стартмани

04.12.2022    3864    18    keyn5565`    0    

15

Защита ПО и шифрование Программист Платформа 1С v8.3 Абонемент ($m)

Демонстрация возможностей шифрования строки на основе мастер-пароля в 1С Предприятие 8.3.19. AES без zip файла, RSA, PKDF2. (c использованием библиотеки С# через com).

2 стартмани

31.08.2022    4829    9    vit59    2    

6

Защита ПО и шифрование Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

Обработка, позволяющая запутывать и шифровать байт-код, поставлять модули без исходных текстов и т.д. Работает только в файловом варианте с версии платформы 8.3.22.1368 из-за конструктора ГенераторСлучайныхЧисел, поскольку алгоритм был изменён.

10 стартмани

16.06.2022    13984    117    ZhokhovM    12    

49
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 876 19.02.19 07:47 Сейчас в теме
Раскодируйте данную base64 строку: 7aC87b2S7aC87b2O
2. asved.ru 37 21.02.19 09:12 Сейчас в теме
(1)
няюнауняюнак


Мсье знает толк в извращениях :)
3. SerVer1C 876 21.02.19 09:36 Сейчас в теме
(2)
няюнауняюнак
это 0L3Rj9GO0L3QsNGD0L3Rj9GO0L3QsNC6 в base64 формате. Видимо, у вас какой-то конвертер необычный )
5. asved.ru 37 21.02.19 15:54 Сейчас в теме
(3) это если из UTF-8 кодировать. Base64 работает с байтами, а не с символами.

няюнауняюнак получается, если результат раскодирования рассмотреть как ANSI и прогнать Штирлицем по маршруту MAC->KOI, DOS->MAC, MAC->KOI(68)
6. SerVer1C 876 22.02.19 07:39 Сейчас в теме
(5) Какой-то сложный путь... Попробуйте просто рассмотреть результат раскодирования как UTF-8.
4. mxm2 1269 21.02.19 15:30 Сейчас в теме
Base64 преобразование туда и обратно без файловых операций (Управляемое приложение) примерно тоже самое, но цель была избежать файловых операций и при этом добиться полного соответствия с преобразованием 1С
Оставьте свое сообщение