Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 16.09.2009, 23:27
RAlfDog вне форума Посмотреть профиль Отправить личное сообщение для RAlfDog Найти все сообщения от RAlfDog
  № 1  
Ответить с цитированием
RAlfDog
 
Аватар для RAlfDog

Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
По умолчанию XOR-кодирование

Всем доброго времени суток

Хочу закодировать текст (String) XOR-методом и записать его в файл. Т.е. весь текст раскладываю на строки, кодирую построчно, собираю, добавляя в конец каждой строки "\r\n" последовательность. При декодировании опять разбиваю на строки, убираю "\r\n" и пробую декодировать с тем же ключом - НЕ ПОЛУЧАЕТСЯ!!!

Создал такой вот класс:
Код AS3:
package src
{
	public class XORcoder
	{
 
		// Constants:
		static const def_key:String='RQ9UEgyaXINTyzpn3SJ7FSzmwSlewTWI3';
 
		// Initialization:
		public function XORcoder()
		{
		}
 
		// Public Methods:
		static public function encode(input_str:String,key:String=def_key):String
		{
			var output_str:String = new String();
			output_str = xor(input_str,key);	
			return output_str;
		}
		static public function decode(input_str:String,key:String=def_key):String
		{
			var output_str:String = new String();
			output_str = xor(input_str,key);	
			return output_str;
		}
 
		// Protected Methods:
		static private function xor(source:String,key:String):String
		{
			var result:String = new String();
			for (var i:uint = 0; i<source.length; i++) {
				if (i > (key.length-1)) {
					key+=key;
				}
				result+=String.fromCharCode(source.charCodeAt(i)^key.charCodeAt(i));
			}
			return result;
		}
	}
}
В одну строну кодируется нормально (кажется), а обратно не хочет декодироваться. Мне кажется загвоздка где-то в этом месте String.fromCharCode, когда as пытается вернуть UTF8-символ по полученному коду (source.charCodeAt(i)^key.charCodeAt(i))

Кто подскажет?

-----------------------------------------------------
Вот отдельная программка на этом классе. Если подольше потыкать, то можно обнаружить, что не всегда закодированный (encoded) текст возвращается в декодированный (decoded) при нажатии не кнопку "DECODE":
Вложения
Тип файла: rar XOR_encoder-decoder.rar (9.0 Кб, 77 просмотров)


Последний раз редактировалось RAlfDog; 16.09.2009 в 23:35.
Создать новую тему   Часовой пояс GMT +4, время: 08:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.