 |
|

24.04.2025, 11:53
|
|
Новичок
Регистрация: 24.04.2025
Сообщений: 10
С нами:
557680
Репутация:
3
|
|
Привет!
Я начинающий python разработчик, и написал программу которая кодирует ваше сообщение которое вы введете в терминале/интерпретаторе. Там есть 10 языков шифрования, правда азбука морзе на данный момент не работает.
Я буду обновлять и улучшать код, планирую сделать для телефонов на kivy и для пк на tkinter.
update 0.1
9 языков шифрования
терминал гуи
update 0.2
убрал азбуку морзе и бесполезный шифр который не шифрует))
сделал красочный интерфейс, добавил красок
сделал код понятнее и распределил на блоки
1000029366.jpgyam0T0 · 24 Апр 2025 в 10:53' data-fancybox="lb-post-1601636" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/268884/" style="cursor: pointer;" title="1000029366.jpg">

Сообщение от Спойлер
update 0.3
сделал меню на табулате
поменял офомление
добавил qrcode
добавил генерацию рандомного текста + в шифровании
добавил загрузку текста из файла (текст должен находиться в одной папке с кодом)
добавил собственный шифр который невозможно разгадать человеку который не знает его, (в скором времени сделаю шифрование пароля на этом языке шифрования)
переделал xor
добавил декодировку на некоторых языках.
переделал цезаря
теперь после результата будет высвечиватся press to continue (нажмите для продолжения) (для удобства)
добавил какой то текст с интернета символами на заставку
После каждого шифрования будет запрашивать файл для сохранения этого шифра (не знаю зачем но пускай будет)
по сравнению с прошлой версией прибавилось +4кб

update 0.3.1
просто поменял название и заставку
!ВНИМАНИЕ! на данный момент если вы с телефона, вы можете запустить этот код через термукс, либо же если вы с пк через терминал.
Зависимости:
hashlib
base64
colorama
tabulate
qrcode
random
time
sys
string
pyfiglet
команда запуска:
update 0.1:
python main.cpython-311.pyc
=
update 0.2:
python code0.2.py
=
update 0.3
python code0.3.py
(если у вас в отдельной папке укажите cd)
|
|
|

28.04.2025, 11:06
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами:
2505538
Репутация:
133
|
|
а зачем это дело еще и компилировать то?
Python:
Код:
import
base64
import
hashlib
def
encode_base64
(
text
)
:
return
base64
.
b64encode
(
text
.
encode
(
'utf-8'
)
)
.
decode
(
'utf-8'
)
def
decode_base64
(
encoded_text
)
:
return
base64
.
b64decode
(
encoded_text
)
.
decode
(
'utf-8'
)
def
encode_utf8
(
text
)
:
return
text
.
encode
(
'utf-8'
)
def
decode_utf8
(
byte_text
)
:
return
byte_text
.
decode
(
'utf-8'
)
def
encode_hex
(
text
)
:
return
text
.
encode
(
'utf-8'
)
.
hex
(
)
def
decode_hex
(
encoded_text
)
:
return
bytes
.
fromhex
(
encoded_text
)
.
decode
(
'utf-8'
)
def
hash_md5
(
text
)
:
return
hashlib
.
md5
(
text
.
encode
(
'utf-8'
)
)
.
hexdigest
(
)
def
hash_sha256
(
text
)
:
return
hashlib
.
sha256
(
text
.
encode
(
'utf-8'
)
)
.
hexdigest
(
)
def
caesar_cipher
(
text
,
shift
)
:
result
=
''
for
char
in
text
:
if
char
.
isalpha
(
)
:
shifted
=
chr
(
(
ord
(
char
.
lower
(
)
)
-
97
+
shift
)
%
26
+
97
)
if
char
.
isupper
(
)
:
shifted
=
shifted
.
upper
(
)
result
+=
shifted
else
:
# inserted
result
+=
char
return
result
def
xor_cipher
(
text
,
key
)
:
return
''
.
join
(
(
chr
(
ord
(
c
)
^
key
)
for
c
in
text
)
)
def
rot13
(
text
)
:
return
text
.
translate
(
str
.
maketrans
(
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
,
'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'
)
)
MORSE_CODE_DICT
=
{
'A'
:
'.-'
,
'B'
:
'-...'
,
'C'
:
'-.-.'
,
'D'
:
'-..'
,
'E'
:
'.'
,
'F'
:
'..-.'
,
'G'
:
'--.'
,
'H'
:
'....'
,
'K'
:
'-.-'
,
'L'
:
'.-..'
,
'M'
:
'--'
,
'N'
:
'-.'
,
'O'
:
'O'
,
'Q'
:
'--.-'
,
'R'
:
'.-.'
,
'S'
:
'...'
,
'T'
:
'-'
,
'U'
:
'..-'
,
'V'
:
'...-'
,
'W'
:
'.--'
,
'X'
:
'-..-'
,
'Y'
:
'-.--'
,
'-.--'
:
'Z'
,
'-.--'
:
'--..'
,
'1'
:
'1'
,
'
def
encode_morse
(
text
)
:
text
=
text
.
upper
(
)
morse_code
=
[
]
for
char
in
text
:
if
char
!=
' '
:
morse_code
.
append
(
MORSE_CODE_DICT
.
get
(
char
,
''
)
)
else
:
# inserted
morse_code
.
append
(
' '
)
return
' '
.
join
(
morse_code
)
def
decode_morse
(
morse_text
)
:
morse_code_dict_reversed
=
{
value
:
key
for
key
,
value
in
MORSE_CODE_DICT
.
items
(
)
}
words
=
morse_text
.
split
(
' '
)
decoded_message
=
''
for
word
in
words
:
letters
=
word
.
split
(
)
for
letter
in
letters
:
decoded_message
+=
morse_code_dict_reversed
.
get
(
letter
,
''
)
decoded_message
+=
' '
return
decoded_message
.
strip
(
)
def
xor_cipher_simple
(
text
,
key
)
:
return
''
.
join
(
(
chr
(
ord
(
c
)
^
key
)
for
c
in
text
)
)
print
(
'Выберите метод шифрования:'
)
print
(
'1. Base64'
)
print
(
'2. UTF-8 (Преобразование в байты)'
)
print
(
'3. Hex'
)
print
(
'4. MD5 (Хэширование)'
)
print
(
'5. SHA-256 (Хэширование)'
)
print
(
'6. Caesar Cipher (Цезарь сдвиг)'
)
print
(
'7. XOR Cipher'
)
print
(
'8. ROT13'
)
print
(
'9. Азбука Морзе'
)
print
(
'10. Простое XOR шифрование'
)
action
=
input
(
'Введите номер действия (1-10): '
)
if
action
==
'1'
:
text
=
input
(
'Введите текст для кодирования: '
)
encoded
=
encode_base64
(
text
)
print
(
f'Закодированный текст (Base64):{encoded}'
)
|
|
|

28.04.2025, 17:39
|
|
Новичок
Регистрация: 24.04.2025
Сообщений: 10
С нами:
557680
Репутация:
3
|
|
Сообщение от chromiusj
а зачем это дело еще и компилировать то?
Python:
Код:
import
base64
import
hashlib
def
encode_base64
(
text
)
:
return
base64
.
b64encode
(
text
.
encode
(
'utf-8'
)
)
.
decode
(
'utf-8'
)
def
decode_base64
(
encoded_text
)
:
return
base64
.
b64decode
(
encoded_text
)
.
decode
(
'utf-8'
)
def
encode_utf8
(
text
)
:
return
text
.
encode
(
'utf-8'
)
def
decode_utf8
(
byte_text
)
:
return
byte_text
.
decode
(
'utf-8'
)
def
encode_hex
(
text
)
:
return
text
.
encode
(
'utf-8'
)
.
hex
(
)
def
decode_hex
(
encoded_text
)
:
return
bytes
.
fromhex
(
encoded_text
)
.
decode
(
'utf-8'
)
def
hash_md5
(
text
)
:
return
hashlib
.
md5
(
text
.
encode
(
'utf-8'
)
)
.
hexdigest
(
)
def
hash_sha256
(
text
)
:
return
hashlib
.
sha256
(
text
.
encode
(
'utf-8'
)
)
.
hexdigest
(
)
def
caesar_cipher
(
text
,
shift
)
:
result
=
''
for
char
in
text
:
if
char
.
isalpha
(
)
:
shifted
=
chr
(
(
ord
(
char
.
lower
(
)
)
-
97
+
shift
)
%
26
+
97
)
if
char
.
isupper
(
)
:
shifted
=
shifted
.
upper
(
)
result
+=
shifted
else
:
# inserted
result
+=
char
return
result
def
xor_cipher
(
text
,
key
)
:
return
''
.
join
(
(
chr
(
ord
(
c
)
^
key
)
for
c
in
text
)
)
def
rot13
(
text
)
:
return
text
.
translate
(
str
.
maketrans
(
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
,
'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'
)
)
MORSE_CODE_DICT
=
{
'A'
:
'.-'
,
'B'
:
'-...'
,
'C'
:
'-.-.'
,
'D'
:
'-..'
,
'E'
:
'.'
,
'F'
:
'..-.'
,
'G'
:
'--.'
,
'H'
:
'....'
,
'K'
:
'-.-'
,
'L'
:
'.-..'
,
'M'
:
'--'
,
'N'
:
'-.'
,
'O'
:
'O'
,
'Q'
:
'--.-'
,
'R'
:
'.-.'
,
'S'
:
'...'
,
'T'
:
'-'
,
'U'
:
'..-'
,
'V'
:
'...-'
,
'W'
:
'.--'
,
'X'
:
'-..-'
,
'Y'
:
'-.--'
,
'-.--'
:
'Z'
,
'-.--'
:
'--..'
,
'1'
:
'1'
,
'
def
encode_morse
(
text
)
:
text
=
text
.
upper
(
)
morse_code
=
[
]
for
char
in
text
:
if
char
!=
' '
:
morse_code
.
append
(
MORSE_CODE_DICT
.
get
(
char
,
''
)
)
else
:
# inserted
morse_code
.
append
(
' '
)
return
' '
.
join
(
morse_code
)
def
decode_morse
(
morse_text
)
:
morse_code_dict_reversed
=
{
value
:
key
for
key
,
value
in
MORSE_CODE_DICT
.
items
(
)
}
words
=
morse_text
.
split
(
' '
)
decoded_message
=
''
for
word
in
words
:
letters
=
word
.
split
(
)
for
letter
in
letters
:
decoded_message
+=
morse_code_dict_reversed
.
get
(
letter
,
''
)
decoded_message
+=
' '
return
decoded_message
.
strip
(
)
def
xor_cipher_simple
(
text
,
key
)
:
return
''
.
join
(
(
chr
(
ord
(
c
)
^
key
)
for
c
in
text
)
)
print
(
'Выберите метод шифрования:'
)
print
(
'1. Base64'
)
print
(
'2. UTF-8 (Преобразование в байты)'
)
print
(
'3. Hex'
)
print
(
'4. MD5 (Хэширование)'
)
print
(
'5. SHA-256 (Хэширование)'
)
print
(
'6. Caesar Cipher (Цезарь сдвиг)'
)
print
(
'7. XOR Cipher'
)
print
(
'8. ROT13'
)
print
(
'9. Азбука Морзе'
)
print
(
'10. Простое XOR шифрование'
)
action
=
input
(
'Введите номер действия (1-10): '
)
if
action
==
'1'
:
text
=
input
(
'Введите текст для кодирования: '
)
encoded
=
encode_base64
(
text
)
print
(
f'Закодированный текст (Base64):{encoded}'
)
просто чтобы не скопипастили
|
|
|

28.04.2025, 17:56
|
|
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами:
3043831
Репутация:
163
|
|
Сообщение от yam0T0
просто чтобы не скопипастили
и чтобы он ебать запускался ток на python 3.11 (опустим, что скрипт никому не нужен, а его сурсы тем более, и что .pyc - это обратимый байткод)
|
|
|

28.04.2025, 17:58
|
|
Новичок
Регистрация: 24.04.2025
Сообщений: 10
С нами:
557680
Репутация:
3
|
|
Сообщение от moreveal
и чтобы он ебать запускался ток на python 3.11 (опустим, что скрипт никому не нужен, а его сурсы тем более)
за что, я только начинаю
|
|
|

28.04.2025, 18:06
|
|
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами:
3043831
Репутация:
163
|
|
Сообщение от yam0T0
за что, я только начинаю
я ж тебя не оскорбляю, прост пытаюсь в реальность вернуть: ну для новичка норм, ты познакомился с вариантами шифрования/кодирования (что, кстати, не одно и то же, поэтому название темы не оч отражает действительность), но практической ценности не несёт, никто не станет декомпилировать конкретно этот тул, потому что он использует общедоступные/широко известные техники, ну и дублирует кучу онлайн-сервисов, которые обычно юзают в таких случаях, когда надо быстренько перегнать "что-то" во "что-то": странно держать у себя где-то в воркспейсе файлик, который работает на единственной версии питона чисто для того чтобы base64 декоднуть условно
ну и .pyc - фиктивная "защита", он не для этих целей служит
|
|
|

28.04.2025, 18:08
|
|
Новичок
Регистрация: 24.04.2025
Сообщений: 10
С нами:
557680
Репутация:
3
|
|
Сообщение от moreveal
я ж тебя не оскорбляю, прост пытаюсь в реальность вернуть: ну для новичка норм, ты познакомился с вариантами шифрования/кодирования (что, кстати, не одно и то же, поэтому название темы не оч отражает действительность), но практической ценности не несёт, никто не станет декомпилировать конкретно этот тул, потому что он использует общедоступные/широко известные техники, ну и дублирует кучу онлайн-сервисов, которые обычно юзают в таких случаях, когда надо быстренько перегнать "что-то" во "что-то": странно держать у себя где-то в воркспейсе файлик, который работает на единственной версии питона чисто для того чтобы base64 декоднуть условно
ну и .pyc - фиктивная "защита", он не для этих целей служит
а как типо сделать чтобы работало на всех версиях пайтон
Сообщение от moreveal
странно держать у себя где-то в воркспейсе файлик, который работает на единственной версии питона чисто для того чтобы base64 декоднуть условно
я в будущем планирую переписать код на киву и ткинтер, чтобы можно было прям с рабочего стола зайти в exeшник и не парится с нахождением какого то языка шифрования в интернете
|
|
|

28.04.2025, 18:13
|
|
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами:
3043831
Репутация:
163
|
|
Сообщение от yam0T0
а как типо сделать чтобы работало на всех версиях пайтон
не бояться распространять исходники; "на всех версиях" оно работать не факт, что будет, но 3.x - можешь практически быть уверенным, что да, поэтому не стесняйся показывать код, даже если он кажется тебе плохим - это норма, наоборот возможность другим указать на твои ошибки, ты и не обязан с самого начала всё знать
а если не хочешь чтобы оттуда что-то брали себе - проще не писать на пайтоне, и всё равно это не выход, лишь усложнение)
|
|
|

29.04.2025, 10:58
|
|
Новичок
Регистрация: 24.04.2025
Сообщений: 10
С нами:
557680
Репутация:
3
|
|
up update
в кьюар код можно залить ссылку на сайт и использовать
up 0.3.1
|
|
|

30.04.2025, 20:02
|
|
Участник форума
Регистрация: 29.12.2020
Сообщений: 295
С нами:
2827988
Репутация:
98
|
|
Ты типо скопировал удобный https://dencode.com/en/ в [S]ебанную питоновскую[/S] консоль? Круто. 👍
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|