@star_trek_voyager

Реализация CR4 на C#?

решил шифрование с использованием алгоритма RC4 , нашел этот пост
и взял от туда код .
вот так я передаю данные коду :
byte[] pass = ASCIIEncoding.Unicode.GetBytes(TBpass.Text);
RC4 encoder = new RC4(pass);
string textCrypt = TBtext.Text;
byte[] ByteCrypt = ASCIIEncoding.Unicode.GetBytes(textCrypt);
byte[] result = encoder.Encode(ByteCrypt, ByteCrypt.Length);
string strout = UTF8Encoding.Unicode.GetString(result, 0, result.Length);
TBtext.Text = strout;

текст: 1111111111111111111111111111111111111111111111111111111111111111111111111111111111
ключ: 123456
вывод: 藰죻쿝職郹萴⋛㤮쒇ǯ남ᥣ퇙৫༨楁�ꑅṼ띟䷺㾼డ昛Ⱄ垱兲맯᧘无⣂站�๳䣆⒗鷺뛲멵㪀庢굪׽蠆଻䧕勃㧽倪퉵䀨忀㔮獐蝗돖ꍛⰗᘏႣ䭀䃊槟⟦⌈糔㇅樈㲰얋ഝ瞮㘧
при попытке декодировать выдает следующее: 1111111111111111▹111111111111111111⊅1111111111111111111111111111111111111111111111

в чем проблема ?
  • Вопрос задан
  • 433 просмотра
Пригласить эксперта
Ответы на вопрос 2
tomnolane
@tomnolane
профессиональный разработчик
посмотрите на строчки.... у себя в коде...
byte[] ByteCrypt = ASCIIEncoding

string strout = UTF8Encoding

byte[] pass = ASCIIEncoding.Unicode.GetBytes(TBpass.Text);
RC4 encoder = new RC4(pass);
string textCrypt = TBtext.Text;
byte[] ByteCrypt = ASCIIEncoding.Unicode.GetBytes(textCrypt);
byte[] result = encoder.Encode(ByteCrypt, ByteCrypt.Length);
string strout = ASCIIEncoding.Unicode.GetString(result, 0, result.Length); // UTF8Encoding поменять на ASCIIEncoding
TBtext.Text = strout;


п.с. не тестил... но по нему у вас разная кодировка...

п.с.с. в вашей ссылке на сайт(статью) кусок кода:
byte[] key = ASCIIEncoding.ASCII.GetBytes("Key");

RC4 encoder = new RC4(key);
string testString = "Plaintext";
byte[] testBytes = ASCIIEncoding.ASCII.GetBytes(testString);
byte[] result = encoder.Encode(testBytes, testBytes.Length);

RC4 decoder = new RC4(key);
byte[] decryptedBytes = decoder.Decode(result, result.Length);
string decryptedString = ASCIIEncoding.ASCII.GetString(decryptedBytes);


нигде не смешиваются кодировки ASCIIEncoding и UTF8Encoding (а у вас в коде смешиваются)
Ответ написан
@pro100gram
Программист-фрилансер
Код по приведенной вами ссылке не тестировал, но успешно реализовывал данный алгоритм по коду из вики - https://ru.wikibooks.org/wiki/%D0%A0%D0%B5%D0%B0%D...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Tiamat Games Москва
от 75 000 до 125 000 ₽
ФинГрад Москва
от 80 000 до 150 000 ₽
Across Systems Новосибирск
До 180 000 ₽
05 июл. 2020, в 17:57
3000 руб./за проект
05 июл. 2020, в 17:57
50000 руб./за проект