|
Base64 где взять нормальный | ☑ | ||
---|---|---|---|---|
0
hockeyist
11.11.22
✎
12:27
|
Base64Строка() не годится для КриптоПРО. Нужен с суффиксом в конце. Вопрос, кто сталкивался с подобной ситуацией и как решал?
|
|||
1
craxx
11.11.22
✎
12:28
|
(0) Напиши свою)
|
|||
2
hockeyist
11.11.22
✎
12:34
|
(1) М.б. так и придется сделать, но может кто-то уже написал
|
|||
3
hockeyist
11.11.22
✎
12:44
|
Может можно как-нибудь 1Совский base64 приспособить
|
|||
4
Смотрящий
11.11.22
✎
12:48
|
(0) Суффикс к строке руками не прилепить ?
|
|||
5
Kassern
11.11.22
✎
12:50
|
Типовые же конфы как-то работают с крипто про, в том же ЭДО, может там глянуть в коде?
|
|||
6
hockeyist
11.11.22
✎
12:51
|
(4) Сначала надо убрать 1С-овский, потом прилепить нормальный. А для этого надо понять, что они взяли за основу для своей Base64. И как определить этот суффикс. Документации ведь как всегда нет
|
|||
7
hockeyist
11.11.22
✎
12:52
|
(5) Это еще дольше. Тогда уж быстрее самому base64 написать
|
|||
8
hockeyist
11.11.22
✎
12:53
|
(5) Кроме того, в типовых могли вообще пойти по пути мимо Base64. Только время зря терять
|
|||
9
Garykom
гуру
11.11.22
✎
13:02
|
(0) проблема не в base64 а в том что кодируешь
|
|||
10
trad
11.11.22
✎
13:09
|
(0) что вы называете суффиксом? Один или два знака "="?
у Base64Строка с этим все в порядке, когда они нужны - они есть, когда не нужны - их нету. |
|||
11
hockeyist
11.11.22
✎
13:11
|
(9) Ошибаетесь. Возьмите любой онлайн encode base64. Введите туда что-нибудь простое, например "1". Посмотрите результат. Теперь посмотрите в 1С результат Base64Строка(). И долго думайте, откуда они взяли свой алгоритм
|
|||
12
hockeyist
11.11.22
✎
13:13
|
(10) Нет. Там фигня какая-то. Они где-то откопали какую-то экзотику. И как всегда забыли написать в документации, где копали
|
|||
13
Garykom
гуру
11.11.22
✎
13:13
|
(11) внимательно изучи https://infostart.ru/public/392252/
подумай зачем там разные кодировки? ну зачем же а? ЗАЧЕМ???? |
|||
14
Garykom
гуру
11.11.22
✎
13:14
|
(12) нет просто "обезьяна с гранатой"
|
|||
15
trad
11.11.22
✎
13:17
|
(11) https://www.base64encode.org/ и 1с из "1" делают "MQ=="
что не так? |
|||
16
trad
11.11.22
✎
13:18
|
(15) +
Сообщить(Base64Строка(ПолучитьДвоичныеДанныеИзСтроки("1"))); 8.3.18.1902 |
|||
17
Garykom
гуру
11.11.22
✎
13:21
|
(16) надо признать что поведение BOM на разных платформах 1С по дефолту разное было ))
так что добавь что пропустил а на некоторых версиях даже глюки были Преобразование строки в BASE64 |
|||
18
hockeyist
11.11.22
✎
13:22
|
(13) (16) Вау! Спасибо. Я не нашел ПолучитьДвоичныеДанныеИзСтроки() и стал использовать поток в памяти. Типа:
Поток = Новый ПотокВПамяти(); зап=новый записьданных(поток); зап.ЗаписатьСтроку(сокрлп(ДанныеДляПодписи)); дд=Поток.ЗакрытьИПолучитьДвоичныеДанные(); А все гораздо проще. Спасибо! |
|||
19
Garykom
гуру
11.11.22
✎
13:22
|
(16) ПолучитьДвоичныеДанныеИзСтроки(<Строка>, <КодировкаТекста>, <ЗаписатьBOM>)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |