Криптография, Причем, примитивная :) |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Криптография, Причем, примитивная :) |
Дюдя |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Решил написать примитивный шифровальщик
Идея такая: вводим слово, а программа сдвигает каждую букву вперед по алфавиту. "А" меняется на "Б", "Б" на "В" и т.д. Но беда - не сообразил, как сделать. Натолкните на верную мысль, пожалуйста |
Bokul |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
if a='z' then -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
Сообщение
#3
|
Гость |
Хорошо. "Я" на что меняться будет? Опять на "А"?
Тогда легче просто описАть строку - алфавит и работать с ней: Const Bokul, а то, что множество символов кириллицы разорвано между 'п' и 'р', это ничего? У тебя там будет сбой |
Дюдя |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Да, опять на А
Зато полноценный криптограф получается, правда слабенький Весьма... |
volvo |
Сообщение
#5
|
Гость |
Дюдя, сюда тоже загляни:
Шифрование текста |
Bokul |
Сообщение
#6
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата Зато полноценный криптограф получается, правда слабенький Весьма Можно привести полностю в нечитаемий вид изменив чуточку алфавит( у Volvo это alpha), добавив некоторые символы и цифры: №"%?*()_+459*-+ и т.д. Сообщение отредактировано: Bokul - -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Дюдя |
Сообщение
#7
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Получился шифровальщик для самых маленьких
Код program shtirliz; uses crt; const alpha: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 !@#$%^&*(),/2'; var s: string; i: byte; begin clrscr; write('Enter text: '); readln(s); for i := 1 to length(s) do s[i] := alpha[(pos(s[i], alpha) mod Length(alpha)) +1]; for i := 1 to length(s) do write(s[i]); readln; write('Now we will decode it! Press enter!'); readln; for i := 1 to length(s) do s[i] := alpha[(pos(s[i], alpha) mod Length(alpha)) -1]; for i := 1 to length(s) do write(s[i]); readln; end. |
volvo |
Сообщение
#8
|
Гость |
Дюдя, проверь на строке, в которой есть 'A'
|
Bokul |
Сообщение
#9
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата Получился шифровальщик для самых маленьких s[i] := alpha[(pos(s[i], alpha) mod Length(alpha)) +1]; s[i] := alpha[(pos(s[i], alpha) mod Length(alpha)) +1]; Вместо единицы введи целочисленную переменную, ключ. По нему ты сможешь шифровать строчку, и только зная его - расшифровать ее. alpha: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 !@#$%^&*(),/2'; Лучше разбросать, перемешать елементы алфавита между собой. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
pavel_the_best |
Сообщение
#10
|
Гость |
function code(a: string; f: integer): string;
var e: string; b: char; c, d: integer; begin d := 1; e := ''; while d <= length(a) do begin b := a[d]; c := ord(b); c := c + f; b := chr©; e := e + b; d := d + 1; end; Result := e; end; function decode(a:string; f:integer):string; var e: string; b: char; c, d: integer; begin d := 1; e := ''; while d <= length(a) do begin b := a[d]; c := ord(b); c := c - f; b := chr©; e := e + b; d := d + 1; end; Result := e; end; var a, b, c: string; f: integer; begin randomize; f:=random(1, 10); read(a); b := code(a, f); writeLn(b); c := decode(b, f); writeLn©; end. Прикрепленные файлы coder.pas ( 769 байт ) Кол-во скачиваний: 269 |
Текстовая версия | 11.09.2024 13:02 |