HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 20.07.2022, 00:57
Shelok_Kholmes
Постоянный
Регистрация: 10.10.2018
Сообщений: 443
С нами: 3995744

Репутация: 83
По умолчанию

Здравствуйте, у меня курчас намечается, думаю, на этом форуме есть люди, которые разбираются в си, а не просто пукают под постиком за то, что я не так код вставил(https://www.blast.hk/threads/141209/) имея нулевое понимание в програмировании. И так, проблема кода в том, что он, не хочет шифровать буквы, может кто решение подсказать доступным языком или же скинуть уже исправленый код? Вот мой поломаный, буду благодарен за помощь.

C:





[CODE]
#include
#include
#include
using namespace std
;
uint16_t EK
[
32
]
;
//uint16_t K[16];
uint16_t d0
;
uint16_t d1
;
bool keyset
;
const
uint8_t S7TABLE
[
128
]
=
{
0x1b
,
0x32
,
0x33
,
0x5a
,
0x3b
,
0x10
,
0x17
,
0x54
,
0x5b
,
0x1a
,
0x72
,
0x73
,
0x6b
,
0x2c
,
0x66
,
0x49
,
0x1f
,
0x24
,
0x13
,
0x6c
,
0x37
,
0x2e
,
0x3f
,
0x4a
,
0x5d
,
0x0f
,
0x40
,
0x56
,
0x25
,
0x51
,
0x1c
,
0x04
,
0x0b
,
0x46
,
0x20
,
0x0d
,
0x7b
,
0x35
,
0x44
,
0x42
,
0x2b
,
0x1e
,
0x41
,
0x14
,
0x4b
,
0x79
,
0x15
,
0x6f
,
0x0e
,
0x55
,
0x09
,
0x36
,
0x74
,
0x0c
,
0x67
,
0x53
,
0x28
,
0x0a
,
0x7e
,
0x38
,
0x02
,
0x07
,
0x60
,
0x29
,
0x19
,
0x12
,
0x65
,
0x2f
,
0x30
,
0x39
,
0x08
,
0x68
,
0x5f
,
0x78
,
0x2a
,
0x4c
,
0x64
,
0x45
,
0x75
,
0x3d
,
0x59
,
0x48
,
0x03
,
0x57
,
0x7c
,
0x4f
,
0x62
,
0x3c
,
0x1d
,
0x21
,
0x5e
,
0x27
,
0x6a
,
0x70
,
0x4d
,
0x3a
,
0x01
,
0x6d
,
0x6e
,
0x63
,
0x18
,
0x77
,
0x23
,
0x05
,
0x26
,
0x76
,
0x00
,
0x31
,
0x2d
,
0x7a
,
0x7f
,
0x61
,
0x50
,
0x22
,
0x11
,
0x06
,
0x47
,
0x16
,
0x52
,
0x4e
,
0x71
,
0x3e
,
0x69
,
0x43
,
0x34
,
0x5c
,
0x58
,
0x7d
}
;
const
uint16_t S9TABLE
[
512
]
=
{
0x1c3
,
0x0cb
,
0x153
,
0x19f
,
0x1e3
,
0x0e9
,
0x0fb
,
0x035
,
0x181
,
0x0b9
,
0x117
,
0x1eb
,
0x133
,
0x009
,
0x02d
,
0x0d3
,
0x0c7
,
0x14a
,
0x037
,
0x07e
,
0x0eb
,
0x164
,
0x193
,
0x1d8
,
0x0a3
,
0x11e
,
0x055
,
0x02c
,
0x01d
,
0x1a2
,
0x163
,
0x118
,
0x14b
,
0x152
,
0x1d2
,
0x00f
,
0x02b
,
0x030
,
0x13a
,
0x0e5
,
0x111
,
0x138
,
0x18e
,
0x063
,
0x0e3
,
0x0c8
,
0x1f4
,
0x01b
,
0x001
,
0x09d
,
0x0f8
,
0x1a0
,
0x16d
,
0x1f3
,
0x01c
,
0x146
,
0x07d
,
0x0d1
,
0x082
,
0x1ea
,
0x183
,
0x12d
,
0x0f4
,
0x19e
,
0x1d3
,
0x0dd
,
0x1e2
,
0x128
,
0x1e0
,
0x0ec
,
0x059
,
0x091
,
0x011
,
0x12f
,
0x026
,
0x0dc
,
0x0b0
,
0x18c
,
0x10f
,
0x1f7
,
0x0e7
,
0x16c
,
0x0b6
,
0x0f9
,
0x0d8
,
0x151
,
0x101
,
0x14c
,
0x103
,
0x0b8
,
0x154
,
0x12b
,
0x1ae
,
0x017
,
0x071
,
0x00c
,
0x047
,
0x058
,
0x07f
,
0x1a4
,
0x134
,
0x129
,
0x084
,
0x15d
,
0x19d
,
0x1b2
,
0x1a3
,
0x048
,
0x07c
,
0x051
,
0x1ca
,
0x023
,
0x13d
,
0x1a7
,
0x165
,
0x03b
,
0x042
,
0x0da
,
0x192
,
0x0ce
,
0x0c1
,
0x06b
,
0x09f
,
0x1f1
,
0x12c
,
0x184
,
0x0fa
,
0x196
,
0x1e1
,
0x169
,
0x17d
,
0x031
,
0x180
,
0x10a
,
0x094
,
0x1da
,
0x186
,
0x13e
,
0x11c
,
0x060
,
0x175
,
0x1cf
,
0x067
,
0x119
,
0x065
,
0x068
,
0x099
,
0x150
,
0x008
,
0x007
,
0x17c
,
0x0b7
,
0x024
,
0x019
,
0x0de
,
0x127
,
0x0db
,
0x0e4
,
0x1a9
,
0x052
,
0x109
,
0x090
,
0x19c
,
0x1c1
,
0x028
,
0x1b3
,
0x135
,
0x16a
,
0x176
,
0x0df
,
0x1e5
,
0x188
,
0x0c5
,
0x16e
,
0x1de
,
0x1b1
,
0x0c3
,
0x1df
,
0x036
,
0x0ee
,
0x1ee
,
0x0f0
,
0x093
,
0x049
,
0x09a
,
0x1b6
,
0x069
,
0x081
,
0x125
,
0x00b
,
0x05e
,
0x0b4
,
0x149
,
0x1c7
,
0x174
,
0x03e
,
0x13b
,
0x1b7
,
0x08e
,
0x1c6
,
0x0ae
,
0x010
,
0x095
,
0x1ef
,
0x04e
,
0x0f2
,
0x1fd
,
0x085
,
0x0fd
,
0x0f6
,
0x0a0
,
0x16f
,
0x083
,
0x08a
,
0x156
,
0x09b
,
0x13c
,
0x107
,
0x167
,
0x098
,
0x1d0
,
0x1e9
,
0x003
,
0x1fe
,
0x0bd
,
0x122
,
0x089
,
0x0d2
,
0x18f
,
0x012
,
0x033
,
0x06a
,
0x142
,
0x0ed
,
0x170
,
0x11b
,
0x0e2
,
0x14f
,
0x158
,
0x131
,
0x147
,
0x05d
,
0x113
,
0x1cd
,
0x079
,
0x161
,
0x1a5
,
0x179
,
0x09e
,
0x1b4
,
0x0cc
,
0x022
,
0x132
,
0x01a
,
0x0e8
,
0x004
,
0x187
,
0x1ed
,
0x197
,
0x039
,
0x1bf
,
0x1d7
,
0x027
,
0x18b
,
0x0c6
,
0x09c
,
0x0d0
,
0x14e
,
0x06c
,
0x034
,
0x1f2
,
0x06e
,
0x0ca
,
0x025
,
0x0ba
,
0x191
,
0x0fe
,
0x013
,
0x106
,
0x02f
,
0x1ad
,
0x172
,
0x1db
,
0x0c0
,
0x10b
,
0x1d6
,
0x0f5
,
0x1ec
,
0x10d
,
0x076
,
0x114
,
0x1ab
,
0x075
,
0x10c
,
0x1e4
,
0x159
,
0x054
,
0x11f
,
0x04b
,
0x0c4
,
0x1be
,
0x0f7
,
0x029
,
0x0a4
,
0x00e
,
0x1f0
,
0x077
,
0x04d
,
0x17a
,
0x086
,
0x08b
,
0x0b3
,
0x171
,
0x0bf
,
0x10e
,
0x104
,
0x097
,
0x15b
,
0x160
,
0x168
,
0x0d7
,
0x0bb
,
0x066
,
0x1ce
,
0x0fc
,
0x092
,
0x1c5
,
0x06f
,
0x016
,
0x04a
,
0x0a1
,
0x139
,
0x0af
,
0x0f1
,
0x190
,
0x00a
,
0x1aa
,
0x143
,
0x17b
,
0x056
,
0x18d
,
0x166
,
0x0d4
,
0x1fb
,
0x14d
,
0x194
,
0x19a
,
0x087
,
0x1f8
,
0x123
,
0x0a7
,
0x1b8
,
0x141
,
0x03c
,
0x1f9
,
0x140
,
0x02a
,
0x155
,
0x11a
,
0x1a1
,
0x198
,
0x0d5
,
0x126
,
0x1af
,
0x061
,
0x12e
,
0x157
,
0x1dc
,
0x072
,
0x18a
,
0x0aa
,
0x096
,
0x115
,
0x0ef
,
0x045
,
0x07b
,
0x08d
,
0x145
,
0x053
,
0x05f
,
0x178
,
0x0b2
,
0x02e
,
0x020
,
0x1d5
,
0x03f
,
0x1c9
,
0x1e7
,
0x1ac
,
0x044
,
0x038
,
0x014
,
0x0b1
,
0x16b
,
0x0ab
,
0x0b5
,
0x05a
,
0x182
,
0x1c8
,
0x1d4
,
0x018
,
0x177
,
0x064
,
0x0cf
,
0x06d
,
0x100
,
0x199
,
0x130
,
0x15a
,
0x005
,
0x120
,
0x1bb
,
0x1bd
,
0x0e0
,
0x04f
,
0x0d6
,
0x13f
,
0x1c4
,
0x12a
,
0x015
,
0x006
,
0x0ff
,
0x19b
,
0x0a6
,
0x043
,
0x088
,
0x050
,
0x15f
,
0x1e8
,
0x121
,
0x073
,
0x17e
,
0x0bc
,
0x0c2
,
0x0c9
,
0x173
,
0x189
,
0x1f5
,
0x074
,
0x1cc
,
0x1e6
,
0x1a8
,
0x195
,
0x01f
,
0x041
,
0x00d
,
0x1ba
,
0x032
,
0x03d
,
0x1d1
,
0x080
,
0x0a8
,
0x057
,
0x1b9
,
0x162
,
0x148
,
0x0d9
,
0x105
,
0x062
,
0x07a
,
0x021
,
0x1ff
,
0x112
,
0x108
,
0x1c0
,
0x0a9
,
0x11d
,
0x1b0
,
0x1a6
,
0x0cd
,
0x0f3
,
0x05c
,
0x102
,
0x05b
,
0x1d9
,
0x144
,
0x1f6
,
0x0ad
,
0x0a5
,
0x03a
,
0x1cb
,
0x136
,
0x17f
,
0x046
,
0x0e1
,
0x01e
,
0x1dd
,
0x0e6
,
0x137
,
0x1fa
,
0x185
,
0x08c
,
0x08f
,
0x040
,
0x1b5
,
0x0be
,
0x078
,
0x000
,
0x0ac
,
0x110
,
0x15e
,
0x124
,
0x002
,
0x1bc
,
0x0a2
,
0x0ea
,
0x070
,
0x1fc
,
0x116
,
0x15c
,
0x04c
,
0x1c2
}
;
int
char2int
(
char
input
)
{
if
(
input
>=
'0'
&&
input
=
'A'
&&
input
=
'a'
&&
input
>
7
;
uint16_t d7
=
FI_IN
&
0x7f
;
d9
=
S9TABLE
[
d9
]
^
d7
;
d7
=
S7TABLE
[
d7
]
^
d9
;
d7
=
d7
&
0x7f
;
d7
=
d7
^
(
FI_KEY
>>
9
)
;
d9
=
d9
^
(
FI_KEY
&
0x1ff
)
;
d9
=
S9TABLE
[
d9
]
^
d7
;
uint16_t FI_OUT
=
(
d7
>
16
;
t1
=
FO_IN
&
0xffff
;
t0
=
t0
^
EK
[
k
]
;
t0
=
FI
(
t0
,
EK
[
(
k
+
5
)
%
8
+
8
]
)
;
t0
=
t0
^
t1
;
t1
=
t1
^
EK
[
(
k
+
2
)
%
8
]
;
t1
=
FI
(
t1
,
EK
[
(
k
+
1
)
%
8
+
8
]
)
;
t1
=
t1
^
t0
;
t0
=
t0
^
EK
[
(
k
+
7
)
%
8
]
;
t0
=
FI
(
t0
,
EK
[
(
k
+
3
)
%
8
+
8
]
)
;
t0
=
t0
^
t1
;
t1
=
t1
^
EK
[
(
k
+
4
)
%
8
]
;
int
FO_OUT
=
(
t1
>
16
;
d1
=
FL_IN
&
0xffff
;
if
(
k
%
2
==
0
)
{
d1
=
d1
^
(
d0
&
EK
[
k
/
2
]
)
;
d0
=
d0
^
(
d1
|
EK
[
(
k
/
2
+
6
)
%
8
+
8
]
)
;
}
else
{
d1
=
d1
^
(
d0
&
EK
[
(
(
k
-
1
)
/
2
+
2
)
%
8
+
8
]
)
;
d0
=
d0
^
(
d1
|
EK
[
(
(
k
-
1
)
/
2
+
4
)
%
8
]
)
;
}
int
FL_OUT
=
(
d0
>
9
;
}
keyset
=
true
;
}
uint64_t
encrypt
(
const
uint64_t DATA
)
{
if
(
!
keyset
)
{
throw
runtime_error
(
"Error: Key has not been set."
)
;
}
uint32_t D0
=
DATA
=
7
)
{
result
[
resultIndex
++
]
=
encrypt
(
target
)
;
byteCount
=
0
;
target
=
0
;
}
}
if
(
byteCount
)
{
result
[
resultIndex
++
]
=
encrypt
(
target
)
;
}
}
void
print64
(
const
uint64_t data
[
]
,
int
length
)
{
for
(
int
i
=
0
;
i
>
(
j
*
8
)
)
&
0xff
;
printf
(
"%02x"
,
c
)
;
}
}
printf
(
"\n"
)
;
}
int
main
(
)
{
const
uint16_t K
[
]
=
{
0x01
,
0xf0
,
0xa3
,
0x81
,
0x45
,
0xff
,
0x26
,
0xa1
,
0x40
,
0x11
,
0xbc
,
0x7d
,
0x41
,
0x55
,
0xf1
,
0x36
}
;
const
int
MAX_LEN
=
16
;
const
int
MAX_LEN_64
=
1
;
char
data
[
MAX_LEN
+
1
]
;
cout

 
Ответить с цитированием

  #2  
Старый 21.07.2022, 19:12
RTD
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами: 4818548

Репутация: 133
По умолчанию

Цитата:
Сообщение от Shelok_Kholmes  

мой
Ну да...

Ну если это твой код, то ты должен понимать наверное что он просит HEX строку, ведь ты сам записал Enter hex data:, а это алфавит 0123456789ABCDF. Ты же и поцепил исключение на не верный символ throw std::invalid_argument("Invalid input string");, при этом его сам же не обрабатываешь...

Если речь о буквах, которые прям все буквы, то замена "throw std::invalid_argument("Invalid input string");" на "return (int)input" решит проблему твоего кода, я думаю твой код после этого заработает(пусть и не правильно будут выводиться результаты скорее всего)
 
Ответить с цитированием

  #3  
Старый 22.07.2022, 12:55
Shelok_Kholmes
Постоянный
Регистрация: 10.10.2018
Сообщений: 443
С нами: 3995744

Репутация: 83
По умолчанию

Цитата:
Сообщение от RTD  

Ну да...
Ну если это твой код, то ты должен понимать наверное что он просит HEX строку, ведь ты сам записал Enter hex data:, а это алфавит 0123456789ABCDF. Ты же и поцепил исключение на не верный символ throw std::invalid_argument("Invalid input string");, при этом его сам же не обрабатываешь...

Если речь о буквах, которые прям все буквы, то замена "throw std::invalid_argument("Invalid input string");" на "return (int)input" решит проблему твоего кода, я думаю твой код после этого заработает(пусть и не правильно будут выводиться результаты скорее всего)
О боже мой, всё, спасибо тебе, я вообще идиот получается... Проблема была только в том, что я вводил символы не из этого алфавита. Ты бог.
 
Ответить с цитированием

  #4  
Старый 22.07.2022, 13:53
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

Репутация: 213
По умолчанию

Цитата:
Сообщение от Shelok_Kholmes  

си
если бы это был твой код, то ты бы знал, что он написан на с++
 
Ответить с цитированием

  #5  
Старый 22.07.2022, 13:54
RTD
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами: 4818548

Репутация: 133
По умолчанию

Цитата:
Сообщение от sc6ut  

если бы это был твой код, то ты бы знал, что он написан на с++
Там от С++ только throw cout и cin
 
Ответить с цитированием

  #6  
Старый 22.07.2022, 14:04
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

Репутация: 213
По умолчанию

Цитата:
Сообщение от RTD  

Там от С++ только throw cout и cin
какая разница, он с уверенность заявил что это его код на си
 
Ответить с цитированием

  #7  
Старый 22.07.2022, 14:41
Shelok_Kholmes
Постоянный
Регистрация: 10.10.2018
Сообщений: 443
С нами: 3995744

Репутация: 83
По умолчанию

Цитата:
Сообщение от sc6ut  

какая разница, он с уверенность заявил что это его код на си
Спасибо за обсуждение и "высмеивание", с теоретической частью у меня плоховато.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.