v7: XOR в 1С7.7 #638698


#0 by Melcor
Стоит задача зашифровать число, код контрагента, для передачи его, посредством смс, клиенту, клиент называет пришедший ему код оператору, тот вбивает его в 1С, а 1С уже распознает в нем код контрагента. XOR  в 1С не предусмотрен, насколько мне известно, всё что находил до этого шифрует в кракозябры, а надо получить удобочитаемый код.
#1 by АЛьФ
#2 by Бешеная Нога
Скидывай клиенту уникальный идетификатор
#3 by Chai Nic
Ну, вообще-то 1с - это алгоритмически полный язык, и на нем можно реализовать тот же самый xor без особых проблем)
#4 by Melcor
нужен постояно разный код, в будет меняться в зависимости от времени, и надо чтобы продавцы не догадались как он получается, ибо скидку давать он будет
#5 by Melcor
Наверно знаний не хватает (, думал вдруг у кого-то есть уже готовое решение
#6 by Chai Nic
То есть, задача состоит в генерации "тикета" в виде хеша, в котором закодирован контрагент и еще какие-то данные? А в чем проблема вообще? Берешь и пишешь..
#7 by Melcor
Блин, там всё по англицки, не понятно как работает)
#8 by Melcor
Ну да, типа того. Дык а как зашифровать, что бы никто не догадался, что за циферки я там передаю
#9 by Chai Nic
"а как зашифровать, что бы никто не догадался" Ну так не показывай код заинтересованным лицам :) Я как-то делал давно примитивное хеширование для проверки пароля на запуск отчета в семерке. Тупо складывал вместе коды символов пароля, умноженные на позицию символа в строке. Далее получал остаток от деления полученного числа на размер хэша. Можно было поискать в интернете математически хорошие методы, просто не было особого смысла.
#10 by Melcor
Полученный код буду вбивать операторы, после того как клиент уйдет, они попробуют вбить его еще раз, и он ессенно подойдет, скидку сделают, разницу в карман
#11 by Melcor
нашел интересную штуку, только как вот обратно расшифровать) Функция XOR(Знач пПар1 = 0, Знач пПар2 = 0) Экспорт
#12 by Chai Nic
Что мешает при выписке счета проверить, была ли уже продажа по этому коду или нет? Как например делают сотовые операторы при использовании скретч-карт оплаты.
#13 by Melcor
А если клиент что-то забыл и решил купить еще? ему ведь смс с тем же кодом придет
#14 by Chai Nic
Ну это какой алгоритм выдачи кода сделаешь
#15 by Бешеная Нога
как это стыкуется с
#16 by BlackSeaCat
Тебе не XOR нужен, тебе постановка задачи нужна. А это денег стоит.
#17 by vde69
XOR - к шифрованию не имеет отношения, кроме того результатом может получится нечитаемый символ, тебе нужен base64 он на выходе гарантировано дает читаемую последовательность, только в конце знаки равно убери что-бы догадатся было сложнее... Base64.dll Внешняя компонента для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие. Методы объекта Addin.Base64: EncodeBase64, ЗакодироватьBase64(FileName) - можно обращаться к методу в русском или английском варианте Читает файл FileName. Преобразует этот файл в закодированную base64 строку. Параметры: FileName - имя файла Возвращаемое значение: закодированная base64 строка. DecodeBase64, РаскодироватьBase64(FileName) - можно обращаться к методу в русском или английском варианте Читает файл FileName. Преобразует этот файл в обычную строку. Параметры: FileName - имя файла Возвращаемое значение: обычная строка Для работы с компонентой скопируйте файл Base64.dll, например в каталог базы данных. В конфигураторе используйте функцию ЗагрузитьВнешнююКомпоненту:
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С