Программа-шифратор замены букв на другие символы

В мире информационной безопасности и защиты данных шифрование играет важную роль. Однако, шифрование — это не только инструмент обеспечения безопасности, но и увлекательная область программирования, позволяющая создавать уникальные и творческие решения. В этой статье мы погрузимся в мир программирования, чтобы исследовать, как создать программу-шифратор для замены букв в тексте на другие символы. Наша задача заключается в разработке программы-шифратора замены букв на другие символы.

Теория

Алгоритм программы-шифратора для замены букв на другие символы довольно прост и может быть реализован следующим образом:

  • Определите шифр. Задайте соответствия между буквами, которые вы хотите заменить, и символами, которыми вы их замените. Это может быть представлено в виде словаря, массива, объекта или любой другой структуры данных, в которой ключи — это исходные буквы, а значения — символы, на которые они заменяются.
  • Введите текст. Получите входной текст, который вы хотите зашифровать.
  • Обработка текста. Пройдитесь по каждому символу во входном тексте.
  • Проверка наличия символа в шифре. Проверьте, существует ли текущий символ в вашем шифре.
  • Замена символа. Если символ существует в шифре, замените его на соответствующий символ из шифра. В противном случае оставьте символ без изменений.
  • Соберите зашифрованный текст. Соберите все обработанные символы вместе, чтобы получить зашифрованный текст.
  • Вывод зашифрованного текста. Выведите зашифрованный текст.

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

C++

Пример программы на C++, которая заменяет буквы в русском тексте на другие символы согласно заданному шифру:

#include <iostream>
#include <string>
#include <map>

// Функция для шифрования текста
std::string encryptText(const std::string& text, const std::map<char, char>& cipher) {
    std::string encryptedText = "";
    
    for (char c : text) {
        if (cipher.find(c) != cipher.end()) {
            encryptedText += cipher.at(c);
        } else {
            encryptedText += c;
        }
    }
    
    return encryptedText;
}

int main() {
    std::string inputText;
    std::map<char, char> cipher;
    
    // Задаем шифр
    cipher['А'] = '!';
    cipher['Б'] = '@';
    cipher['В'] = '#';
    // Добавьте остальные символы в соответствии с вашим шифром
    
    std::cout << "Введите текст на русском: ";
    std::getline(std::cin, inputText);
    
    std::string encryptedText = encryptText(inputText, cipher);
    
    std::cout << "Зашифрованный текст: " << encryptedText << std::endl;
    
    return 0;
}

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

C#

using System;
using System.Collections.Generic;

class Program
{
    static string EncryptText(string text, Dictionary<char, char> cipher)
    {
        char[] encryptedText = new char[text.Length];

        for (int i = 0; i < text.Length; i++)
        {
            if (cipher.ContainsKey(text[i]))
            {
                encryptedText[i] = cipher[text[i]];
            }
            else
            {
                encryptedText[i] = text[i];
            }
        }

        return new string(encryptedText);
    }

    static void Main()
    {
        string inputText;
        Dictionary<char, char> cipher = new Dictionary<char, char>();

        // Задаем шифр
        cipher['А'] = '!';
        cipher['Б'] = '@';
        cipher['В'] = '#';
        // Добавьте остальные символы в соответствии с вашим шифром

        Console.Write("Введите текст на русском: ");
        inputText = Console.ReadLine();

        string encryptedText = EncryptText(inputText, cipher);

        Console.WriteLine("Зашифрованный текст: " + encryptedText);
    }
}

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

Python

def encrypt_text(text, cipher):
    encrypted_text = []
    
    for char in text:
        if char in cipher:
            encrypted_text.append(cipher[char])
        else:
            encrypted_text.append(char)
    
    return ''.join(encrypted_text)

def main():
    input_text = input("Введите текст на русском: ")
    
    cipher = {
        'А': '!',
        'Б': '@',
        'В': '#'
        # Добавьте остальные символы в соответствии с вашим шифром
    }
    
    encrypted_text = encrypt_text(input_text, cipher)
    
    print("Зашифрованный текст:", encrypted_text)

if __name__ == "__main__":
    main()

Java

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class TextEncryptor {
    public static String encryptText(String text, Map<Character, Character> cipher) {
        StringBuilder encryptedText = new StringBuilder();

        for (char c : text.toCharArray()) {
            if (cipher.containsKey(c)) {
                encryptedText.append(cipher.get(c));
            } else {
                encryptedText.append(c);
            }
        }

        return encryptedText.toString();
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Введите текст на русском: ");
        String inputText = scanner.nextLine();

        Map<Character, Character> cipher = new HashMap<>();
        cipher.put('Н', '=');
        cipher.put('Д', '@');
        cipher.put('В', '#');
        // Добавьте остальные символы в соответствии с вашим шифром

        String encryptedText = encryptText(inputText, cipher);

        System.out.println("Зашифрованный текст: " + encryptedText);
    }
}

Pascal

program TextEncryptor;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function EncryptText(const Text: string; const Cipher: array of record
  Original, Replacement: Char;
end): string;
var
  i, j: Integer;
begin
  SetLength(Result, Length(Text));
  for i := 1 to Length(Text) do
  begin
    Result[i] := Text[i];
    for j := Low(Cipher) to High(Cipher) do
    begin
      if Text[i] = Cipher[j].Original then
      begin
        Result[i] := Cipher[j].Replacement;
        Break;
      end;
    end;
  end;
end;

var
  InputText, EncryptedText: string;
  Cipher: array[1..3] of record
    Original, Replacement: Char;
  end;

begin
  Cipher[1].Original := 'Н';
  Cipher[1].Replacement := '=';
  Cipher[2].Original := 'Д';
  Cipher[2].Replacement := '@';
  Cipher[3].Original := 'В';
  Cipher[3].Replacement := '#';
  { Добавьте остальные символы в соответствии с вашим шифром }

  Write('Введите текст на русском: ');
  ReadLn(InputText);

  EncryptedText := EncryptText(InputText, Cipher);

  Writeln('Зашифрованный текст: ', EncryptedText);
end.

JavaScript

function encryptText(text, cipher) {
    let encryptedText = "";

    for (let i = 0; i < text.length; i++) {
        const char = text[i];
        if (cipher[char]) {
            encryptedText += cipher[char];
        } else {
            encryptedText += char;
        }
    }

    return encryptedText;
}

const inputText = prompt("Введите текст на русском:");
const cipher = {
    'Н': '=',
    'Д': '@',
    'В': '#'
    // Добавьте остальные символы в соответствии с вашим шифром
};

const encryptedText = encryptText(inputText, cipher);
console.log("Зашифрованный текст: " + encryptedText);

PHP

<?php
function encryptText($text, $cipher) {
    $encryptedText = '';

    for ($i = 0; $i < mb_strlen($text); $i++) {
        $char = mb_substr($text, $i, 1, 'UTF-8');
        if (isset($cipher[$char])) {
            $encryptedText .= $cipher[$char];
        } else {
            $encryptedText .= $char;
        }
    }

    return $encryptedText;
}

$inputText = readline("Введите текст на русском: ");

$cipher = [
    'Н' => '=',
    'Д' => '@',
    'В' => '#',
    // Добавьте остальные символы в соответствии с вашим шифром
];

$encryptedText = encryptText($inputText, $cipher);

echo "Зашифрованный текст: " . $encryptedText . PHP_EOL;
?>
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Давайте поможем друг другу! Если вы нашли ошибку или хотите предложить лучшее решение, пожалуйста, напишите об этом в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *