Генерация QR Кода, sha256hash через javascript

Возможность генерировать QRкод прямо в коде. Никаких внешних макетов и DLL только javascript.
Также имеется пересчет хэш-функций sha256,ECDSA
Конвертирование Utf8Encode,Base58,BigInteger .

Вся работа ведется через MSScriptControl.ScriptControl

Скрипт = Новый COMОбъект(«MSScriptControl.ScriptControl»);

Скрипт.language = «javascript»;

выполняя функции реализованные на js, можно получать результаты не хуже чем через внешние компоненты.

по времени выполнения: на генерацию 100 двойных sha256(sha256())  требуется 3 секунды

QR генерируется мгновенно в Gif формате и сериализуется в base64

подставляя в стандартный десериализатор объектов 1с

получаем Объект 1с картинка пригодную для вставки, сохранения куда угодно.

js код взят с brainwallet.org и адаптирован под выполнение в 1с , убрана работа с html тэгами и всяческие document.write.

4 Comments

  1. seermak

    генерировать-то генерирует, но при чтении сканером выдает абракодабру((((

    Reply
  2. Трактор

    Какие действия выполняет функция BitcoinRun(source,Скрипт = Неопределено), которая исполняется при каждом нажатии кнопки выполнить ?

    Reply
  3. Трактор

    (1) нормально кодирует. Но только латиницу. А вот биткоины напрягают.

    Reply
  4. seermak

    я пользуюсь вот этой процедурой:

    ИмяВременногоФайла = ПолучитьИмяВременногоФайла(«png»);
    АдресНачало = «http://chart.apis.google.com/chart?cht=qr&chs=230×230&chl=»;
    АдресКонец = Номер  + Символы.ПС + ?(СуммаДоговора = 0,»»,»Сумма: » + СуммаДоговора + Символы.ПС) + Клиент.Наименование  + Символы.ПС + Клиент.АдресФактический;
    АдресКонец = СтрЗаменить(АдресКонец, » «, «+»);
    АдресКонец = EncodeURL(АдресКонец);
    Попытка
    Соединение = ПолучитьCOMОбъект(«»,»Microsoft.XMLHTTP»);
    Соединение.open(«GET», АдресНачало + АдресКонец,0,,);
    Соединение.send(null);
    СохранитьДвоичныйБуферВФайл(Соединение.responseBody, ИмяВременногоФайла);
    Область.Рисунки.QRКод.Картинка = Новый Картинка(ИмяВременногоФайла);
    Исключение
    Выполнено = Ложь;
    КонецПопытки;

    Показать

    Кодируется все без проблем и с русскими буквами

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *