|   |   | 
| 
 | Cформировать строку путем шифрования SHA256 | ☑ | ||
|---|---|---|---|---|
| 0
    
        Котокот 29.10.14✎ 08:12 | 
        Финансовые методы API Яндекс.Директ, цитата отсюда http://api.yandex.ru/direct/doc/concepts/finance-token.xml
 "Параметр finance_token необходимо сформировать путем шифрования SHA256. Шифруется строка, полученная конкатенацией следующих подстрок:..." Пробую использовать МенеджерКриптогоафии - ругается при попытке установить АлгоритмХеширования равный "SHA-256": МенеджерКриптографии = Новый МенеджерКриптографии("Microsoft Enhanced RSA and AES Cryptographic Provider", "", 24); МенеджерКриптографии.АлгоритмХеширования = "SHA-256"; На второй строке падает, говорит, что не знает такого алгоритма, хотя в MSDN написано, что он поддерживается. К тому же, как я понял, метод Зашифровать(<ИсходныеДанные>, <Получатели>) требует использования сертификатов. А вот в примере шифрования на питоне сертификаты не используются (вроде): financeToken = hashlib.sha256(masterToken + str(operationNum) + usedMethod + login).hexdigest() Три вопроса: 1. Обязательно ли использовать сертификат, чтобы зашифровать строку алгоритмом SHA-256? 2. Как все-таки заставить 1С работать с SHA-256 средствами платформы? 3. Ткните в примеры шифрования строки в 1С НЕ средствами платформы. | |||
| 1
    
        Котокот 29.10.14✎ 08:15 | 
        ВК использовать не хочется. Как вариант - попробовать запилить на javascript: http://www.webtoolkit.info/javascript-sha256.html#.VFBpgTSsWE0     | |||
| 2
    
        Котокот 29.10.14✎ 09:25 | 
        Что, никто не знает?     | |||
| 3
    
        Котокот 29.10.14✎ 12:11 | 
        Опять я впереди планеты всей, похоже. Сделал в итоге на ScriptControl и Javascript, работает стабильно, Директ хэш схавал и не подавился, денежка перечисляется.     | |||
| 4
    
        Зеленый пень 29.10.14✎ 12:15 | 
        (3) Хвастайся до конца: выкладывай решение.     | |||
| 5
    
        DmitrO 29.10.14✎ 12:16 | 
        Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
 Хеширование.Добавить(masterToken + str(operationNum) + usedMethod + login); financeToken = Строка(Хеширование.ХешСумма); | |||
| 6
    
        Garikk 29.10.14✎ 12:18 | 
        (0) не XP случаем?     | |||
| 7
    
        oleg_km 29.10.14✎ 12:21 | 
        Только вычисление хеша - это не шифрование     | |||
| 8
    
        Котокот 29.10.14✎ 12:22 | 
        (5) На платформе 8.2.19.90 не работает, не знает такого "ХешированиеДанных"     | |||
| 9
    
        Котокот 29.10.14✎ 12:22 | 
        (6) На 2008 делал, сейчас на хрюше проверю     | |||
| 10
    
        Котокот 29.10.14✎ 13:29 | 
        (6) На хрюше тоже пашет
 (3) Скрипт взял отсюдова: http://www.webtoolkit.info/javascript-sha256.html#.VFBpgTSsWE0 В коде написал так: // Сформируем финансовый токен ХэшФинансовогоТокена = Выборка.ТокенЯндексДиректФинансовый + Строка(Выборка.НомерФинансовойОперации) + НазваниеФинансовогоМетода + Выборка.ЛогинЯндексДирект; // Получим хэш финансового токена ScrptCtrl = новый COMОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language="JScript"; ScrptCtrl.AddCode(ПолучитьОбщийМакет("КэнДиректСкриптПолученияХешаСтроки").ПолучитьТекст()); ХэшФинансовогоТокена = ScrptCtrl.Eval("SHA256('" + ХэшФинансовогоТокена + "')"); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |