Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
8 / 2 / 0
Регистрация: 28.11.2017
Сообщений: 157

Salsa20 шифрование каждого N-го символа

19.02.2019, 09:05. Показов 1379. Ответов 1

Студворк — интернет-сервис помощи студентам
На форуме нашел такой код:
C#
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
string text = "Привет! Hello!";
byte[] key = {117, 211, 146, 162, 230, 86, 207, 172, 3, 183, 170, 209, 16, 176, 21, 236, 94, 99, 85, 105, 120, 80, 208, 113, 59, 79, 207, 45, 198, 87, 227, 161};
byte[] iv = {184, 68, 238, 192, 150, 147, 73, 174};
 
// Шифровка
string encrypted;
using (var salsa = new Salsa20())
using (var mstream_out = new MemoryStream())
{
    salsa.Key = key;
    salsa.IV = iv;
    
    using (var cstream = new CryptoStream(mstream_out, salsa.CreateEncryptor(), CryptoStreamMode.Write))
    {
        var bytes = Encoding.UTF8.GetBytes(text);
        cstream.Write(bytes, 0, bytes.Length);
    }
    encrypted = Convert.ToBase64String(mstream_out.ToArray());
}
 
// Дешифровка
string decryptedText;
using (var salsa = new Salsa20())
using (var mstream_out = new MemoryStream())
{
    salsa.Key = key;
    salsa.IV = iv;
 
    using (var mstream_in = new MemoryStream(Convert.FromBase64String(encrypted)))
    using (var cstream = new CryptoStream(mstream_in, salsa.CreateDecryptor(), CryptoStreamMode.Read))
    {
        cstream.CopyTo(mstream_out);
    }
    decryptedText = Encoding.UTF8.GetString(mstream_out.ToArray());
}
Он шифрует весь текст, есть какие варианты, чтобы не весь текст шифровать, а лишь каждый N символ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2019, 09:05
Ответы с готовыми решениями:

Шифрование: табличная замена каждого символа другим символом
Кому не сложно помогите сделать практическое задание шифрование ЮЛИЯ ЦЕЗАРЯ 1. Один из простейших способов шифрования текста состоит в...

Шифрование методом гаммирования. Гамма для каждого символа
Собственно появилась необходимость реализовать механизм шифрования методом гаммирования. Особенности, которые необходимо учесть: 1) Гамма...

Дана строка. Вставить после каждого символа два случайных символа
Здравствуйте! помогите с реализацией!! Часть задания я решил, подскажите как сделать рандомные буквенные значения, после каждого символа? ...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
20.02.2019, 15:02
korozyan, salsa для этого не подходит. Нужен какой-то другой алгоритм ориентированный на работу с текстом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2019, 15:02
Помогаю со студенческими работами здесь

В заданной строке после каждого символа вставить число, соответствующее коду этого символа
В заданной строке после каждого символа вставить число, соответствующее коду этого символа. PS сделать с использованием компонента Memo

Преобразовать данный текст по следующему правилу: если нет символа «*», то оставить текст без изменений, иначе вставить перед и после каждого символа
Преобразовать данный текст по следующему правилу: если нет символа «*», то оставить текст без изменений, иначе вставить перед и после...

Шифрование/Дешифрование - теряются два символа
Теряются два последних символа при декодировании ( если в цикле i <= size сделать, то 1 символ только) (см. скрин): string str =...

Шифратор текста на Salsa20
У меня есть вот этот код using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

Шифрование строки путем прибавления к коду символа числа
Задача:Дан текст(несколько строк) в файле F1.Описать функцию работы с текстом, представленным в виде строки символов, которая...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru