Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
5 / 4 / 1
Регистрация: 14.09.2019
Сообщений: 65

Стеганография

01.11.2021, 19:22. Показов 1590. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Была задача сделать шифратор с заменой похожих букв английского и русского алфавита. Но теперь задача другая, а именно: Есть буква K (английская), и у нее есть свой бинарный код. Есть какой то текст. Надо считывать бинарный код, и если будет цифра 1, значит сделать между первыми двумя словами отступление в два пробела. Если будет цифра 0, значит отступление в один пробел, и так далее по всему тексту. Кто может помочь в решении этой задачи? Буду очень благодарен.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
rus_letters = "КАМОНВЕРХСТорухаес"
eng_letters = "KAMOHBEPXCTopyxaec"
 
 
def start():
    while True:
        choice = int(input("Enter number: 1 - encode, 2 - decode, 3 - quit\n"))
 
        if choice == 1:
            encode()
        elif choice == 2:
            decode()
        elif choice == 3:
            break
        else:
            print("Unkown command")
 
 
def encode():
    text = open('text.txt', 'r')
    to_encode = open('to_encode.txt', 'r')
    encoded = open('encoded.txt', 'w')
 
    letter_to_encode = 0
    encoded_bits = 8
 
    while True:
        symbol_from_text = text.read(1)
        if not symbol_from_text:
            break
 
        if symbol_from_text in eng_letters:
            if encoded_bits == 8:
                letter_to_encode = to_encode.read(1)
                if not letter_to_encode:
                    encoded.write(symbol_from_text)
                    break
 
                print("To encode {0} = {1:b} = {1}".format(letter_to_encode, ord(letter_to_encode)))
                letter_to_encode = ord(letter_to_encode)
                encoded_bits = 0
 
            bit_from_letter = (letter_to_encode & 0b10000000) >> 7
            print("Read {0}, bit {1}".format(symbol_from_text, bit_from_letter))
 
            if bit_from_letter:
                symbol_from_text = rus_letters[eng_letters.index(symbol_from_text)]
 
            letter_to_encode <<= 1
            letter_to_encode %= 256
            encoded_bits += 1
 
        encoded.write(symbol_from_text)
 
    # encoded.write(text.read())
 
 
    text.close()
    to_encode.close()
    encoded.close()
 
 
def decode():
    encoded = open('encoded.txt', 'r')
    decoded = open('decoded.txt', 'w')
 
    # to_read = int(input("How long is encoded message: "))
 
    with open('to_encode.txt', 'r') as was_encoded:
        to_read = len(was_encoded.read())
 
    read = 0
    bits_read = 0
    byte = 0
 
    while read < to_read:
        symbol = encoded.read(1)
        if not symbol:
            break
 
        if symbol in eng_letters:
            byte <<= 1
            bits_read += 1
            print("Symbol {0}, bit 0. byte {1:b}".format(symbol, byte))
        elif symbol in rus_letters:
            byte <<= 1
            byte |= 1
            bits_read += 1
            print("Symbol {0}, bit 1. byte {1:b}".format(symbol, byte))
 
        if bits_read == 8:
            print("{0}, {0:b}, {0:c}".format(byte))
            decoded.write(chr(byte))
            read += 1
            bits_read = byte = 0
 
 
 
    encoded.close()
    decoded.close()
 
start()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.11.2021, 19:22
Ответы с готовыми решениями:

Стеганография
Нужно написать программу которая бы прятала текст например в звук или в изображение. Кто с таким может помочь и сколько стоит

Написание кода | Стеганография
Помогите, пожалуйста, с реализацией программы. Буду очень благодарна! Создание программного кода на Питон. Необходимо программно...

Стеганография(метод White space)
Добрый день. Хотела реализовать метод сокрытия сообщения с помощью пробелов. Кратко: берется скрытое сообщение -&gt; переводиться...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,691
Записей в блоге: 14
01.11.2021, 19:27
И при чем здесь буква K?
0
5 / 4 / 1
Регистрация: 14.09.2019
Сообщений: 65
01.11.2021, 19:33  [ТС]
Catstail, по бинарному коду буквы K делаеться делается шифровка
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,691
Записей в блоге: 14
01.11.2021, 19:59
И что нужно зашифровать? Одну букву K?
0
5 / 4 / 1
Регистрация: 14.09.2019
Сообщений: 65
01.11.2021, 20:07  [ТС]
Catstail, Нет, допустим есть текст: Lorem Ipsum is simply dummy text of the printing and typesetting industry. Берем любую букву английского алфавита, например K. У нее есть свой бинарный код - 01001011. Теперь перебираем этот бинарный код. Для примера я взял букву K, где начинаеться с нуля - значит между первыми двумя словами отступление в один пробел. После нуля, мы видем цифру 1 - значит отступление между следующими двумя словами в два пробела. И так для всего текста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2021, 20:07
Помогаю со студенческими работами здесь

Стеганография
Всем доброго времени суток, дали задание зашифровать в изображении текст, т.к. времени у меня не так много я отказался от реализации на c и...

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

ДКП преобразование стеганография
Нужно написать программу, которая будет внедрять стегосообщение в jpeg с помощью ДКП преобразования. Не могу найти решений и библиотек для...

Стеганография, как извлечь информацию из картинки?
Как можно извлечь информацию из картинки? Пробовали разные способы, но ничего не выходит, кто поможет подсказать?

Как зашифровать текст в аудио (стеганография)?
Если такая тема уже есть то перенаправьте пожалуйста, если не то можете скинуть пример


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru