ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   0.3.1 | Cryptoyam | Зашифруй себя (https://forum.antichat.xyz/showthread.php?t=1534886)

yam0T0 24.04.2025 11:53

Привет!

Я начинающий 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">
https://forum.antichat.xyz/attachmen...e7f069ca00.png


Цитата:

Сообщение от Спойлер

update 0.3

сделал меню на табулате

поменял офомление

добавил qrcode

добавил генерацию рандомного текста + в шифровании

добавил загрузку текста из файла (текст должен находиться в одной папке с кодом)

добавил собственный шифр который невозможно разгадать человеку который не знает его, (в скором времени сделаю шифрование пароля на этом языке шифрования)

переделал xor

добавил декодировку на некоторых языках.

переделал цезаря

теперь после результата будет высвечиватся press to continue (нажмите для продолжения) (для удобства)

добавил какой то текст с интернета символами на заставку

После каждого шифрования будет запрашивать файл для сохранения этого шифра (не знаю зачем но пускай будет)

по сравнению с прошлой версией прибавилось +4кб

https://forum.antichat.xyz/attachmen...a5992f5f1a.png


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)

chromiusj 28.04.2025 11:06

а зачем это дело еще и компилировать то?

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}'
)


yam0T0 28.04.2025 17:39

Цитата:

Сообщение от 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}'
)



просто чтобы не скопипастили

moreveal 28.04.2025 17:56

Цитата:

Сообщение от yam0T0

просто чтобы не скопипастили

и чтобы он ебать запускался ток на python 3.11 (опустим, что скрипт никому не нужен, а его сурсы тем более, и что .pyc - это обратимый байткод)

yam0T0 28.04.2025 17:58

Цитата:

Сообщение от moreveal

и чтобы он ебать запускался ток на python 3.11 (опустим, что скрипт никому не нужен, а его сурсы тем более)

за что, я только начинаю

moreveal 28.04.2025 18:06

Цитата:

Сообщение от yam0T0

за что, я только начинаю

я ж тебя не оскорбляю, прост пытаюсь в реальность вернуть: ну для новичка норм, ты познакомился с вариантами шифрования/кодирования (что, кстати, не одно и то же, поэтому название темы не оч отражает действительность), но практической ценности не несёт, никто не станет декомпилировать конкретно этот тул, потому что он использует общедоступные/широко известные техники, ну и дублирует кучу онлайн-сервисов, которые обычно юзают в таких случаях, когда надо быстренько перегнать "что-то" во "что-то": странно держать у себя где-то в воркспейсе файлик, который работает на единственной версии питона чисто для того чтобы base64 декоднуть условно

ну и .pyc - фиктивная "защита", он не для этих целей служит

yam0T0 28.04.2025 18:08

Цитата:

Сообщение от moreveal

я ж тебя не оскорбляю, прост пытаюсь в реальность вернуть: ну для новичка норм, ты познакомился с вариантами шифрования/кодирования (что, кстати, не одно и то же, поэтому название темы не оч отражает действительность), но практической ценности не несёт, никто не станет декомпилировать конкретно этот тул, потому что он использует общедоступные/широко известные техники, ну и дублирует кучу онлайн-сервисов, которые обычно юзают в таких случаях, когда надо быстренько перегнать "что-то" во "что-то": странно держать у себя где-то в воркспейсе файлик, который работает на единственной версии питона чисто для того чтобы base64 декоднуть условно

ну и .pyc - фиктивная "защита", он не для этих целей служит

а как типо сделать чтобы работало на всех версиях пайтон

Цитата:

Сообщение от moreveal

странно держать у себя где-то в воркспейсе файлик, который работает на единственной версии питона чисто для того чтобы base64 декоднуть условно

я в будущем планирую переписать код на киву и ткинтер, чтобы можно было прям с рабочего стола зайти в exeшник и не парится с нахождением какого то языка шифрования в интернете

moreveal 28.04.2025 18:13

Цитата:

Сообщение от yam0T0

а как типо сделать чтобы работало на всех версиях пайтон

не бояться распространять исходники; "на всех версиях" оно работать не факт, что будет, но 3.x - можешь практически быть уверенным, что да, поэтому не стесняйся показывать код, даже если он кажется тебе плохим - это норма, наоборот возможность другим указать на твои ошибки, ты и не обязан с самого начала всё знать

а если не хочешь чтобы оттуда что-то брали себе - проще не писать на пайтоне, и всё равно это не выход, лишь усложнение)

yam0T0 29.04.2025 10:58

up update

в кьюар код можно залить ссылку на сайт и использовать

up 0.3.1

Deps 30.04.2025 20:02

Ты типо скопировал удобный https://dencode.com/en/ в [S]ебанную питоновскую[/S] консоль? Круто. 👍


Время: 20:37