|
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('" + ХэшФинансовогоТокена + "')"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |