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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 22.12.2007, 02:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 11  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А пустой байт ничего и не представляет из себя.

Старый 22.12.2007, 12:13
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 12  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
если имеется ввиду нулевой то writeByte(0).

Старый 24.12.2007, 02:54
Ноябрь вне форума Посмотреть профиль Отправить личное сообщение для Ноябрь Посетить домашнюю страницу Ноябрь Найти все сообщения от Ноябрь
  № 13  
Ноябрь
 
Аватар для Ноябрь

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
Всем спасибо за помощь..
Реализация алгоритма Skipjack, который превратит любую ценную информацию в мусор, а затем обратно (если конечно знаешь ключ).
10байтный ключ позволяет сгенерировать 1.20892581961462e+24 вариантов себя.

Код:
package main{
	
	import flash.display.MovieClip
	import flash.utils.ByteArray
	
	public class base extends MovieClip{
		
		public var ssecret:String='Секретный текст';
		public var skey:String='very';
		public var equ:Array = new Array(
0xA3, 0xD7, 0x09, 0x83, 0xF8, 0x48, 0xF6, 0xF4, 0xB3, 0x21, 0x15, 0x78, 0x99, 0xB1, 0xAF, 0xF9, 0xE7, 0x2D, 0x4D, 0x8A, 0xCE, 0x4C, 0xCA, 0x2E, 0x52, 0x95, 0xD9, 0x1E, 0x4E, 0x38, 0x44, 0x28, 0x0A, 0xDF, 0x02, 0xA0, 0x17, 0xF1, 0x60, 0x68, 0x12, 0xB7, 0x7A, 0xC3, 0xE9, 0xFA, 0x3D, 0x53, 0x96, 0x84, 0x6B, 0xBA, 0xF2, 0x63, 0x9A, 0x19, 0x7C, 0xAE, 0xE5, 0xF5, 0xF7, 0x16, 0x6A, 0xA2, 0x39, 0xB6, 0x7B, 0x0F, 0xC1, 0x93, 0x81, 0x1B, 0xEE, 0xB4, 0x1A, 0xEA, 0xD0, 0x91, 0x2F, 0xB8, 0x55, 0xB9, 0xDA, 0x85, 0x3F, 0x41, 0xBF, 0xE0, 0x5A, 0x58, 0x80, 0x5F, 0x66, 0x0B, 0xD8, 0x90, 0x35, 0xD5, 0xC0, 0xA7, 0x33, 0x06, 0x65, 0x69, 0x45, 0x00, 0x94, 0x56, 0x6D, 0x98, 0x9B, 0x76, 0x97, 0xFC, 0xB2, 0xC2, 0xB0, 0xFE, 0xDB, 0x20, 0xE1, 0xEB, 0xD6, 0xE4, 0xDD, 0x47, 0x4A, 0x1D, 0x42, 0xED, 0x9E, 0x6E, 0x49, 0x3C, 0xCD, 0x43, 0x27, 0xD2, 0x07, 0xD4, 0xDE, 0xC7, 0x67, 0x18, 0x89, 0xCB, 0x30, 0x1F, 0x8D, 0xC6, 0x8F, 0xAA, 0xC8, 0x74, 0xDC, 0xC9, 0x5D, 0x5C, 0x31, 0xA4, 0x70, 0x88, 0x61, 0x2C, 0x9F, 0x0D, 0x2B, 0x87, 0x50, 0x82, 0x54, 0x64, 0x26, 0x7D, 0x03, 0x40, 0x34, 0x4B, 0x1C, 0x73, 0xD1, 0xC4, 0xFD, 0x3B, 0xCC, 0xFB, 0x7F, 0xAB, 0xE6, 0x3E, 0x5B, 0xA5, 0xAD, 0x04, 0x23, 0x9C, 0x14, 0x51, 0x22, 0xF0, 0x29, 0x79, 0x71, 0x7E, 0xFF, 0x8C, 0x0E, 0xE2, 0x0C, 0xEF, 0xBC, 0x72, 0x75, 0x6F, 0x37, 0xA1, 0xEC, 0xD3, 0x8E, 0x62, 0x8B, 0x86, 0x10, 0xE8, 0x08, 0x77, 0x11, 0xBE, 0x92, 0x4F, 0x24, 0xC5, 0x32, 0x36, 0x9D, 0xCF, 0xF3, 0xA6, 0xBB, 0xAC, 0x5E, 0x6C, 0xA9, 0x13, 0x57, 0x25, 0xB5, 0xE3, 0xBD, 0xA8, 0x3A, 0x01, 0x05, 0x59, 0x2A, 0x46);
	
		public function base():void{
			//чтение ключа			
			var t:ByteArray = new ByteArray();
			t.writeUTFBytes(skey);
			var l:uint=t.length;
			var z:int = 10 - l;
			for (var i:int = 0;i<z;i++){
				t.writeByte(0);
			}
			var bkey:ByteArray = new ByteArray();
			bkey.writeBytes(t,0,10);
			//чтение информации
			var bsecret:ByteArray = new ByteArray();
			bsecret.writeUTFBytes(ssecret);
			l = bsecret.length;
			z = 8 - (l % 8);
			for (i = 0;i<z;i++){
				bsecret.writeByte(0);
			}
			//тест
			trace(bsecret);
			var c:ByteArray = new ByteArray();
			for(i=0;i<l;i+=8){
			t=new ByteArray();
			t.writeBytes(bsecret,i,8);
			 c.writeBytes(coding(t,bkey));
			}
			trace(c);
			var d:ByteArray = new ByteArray();
			for(i=0;i<l;i+=8){
			t=new ByteArray();
			t.writeBytes(c,i,8);
			d.writeBytes(decoding(t,bkey));
			}
			trace(d);
			
		}
		//Кодирование
		public function coding(block:ByteArray,key:ByteArray):ByteArray{
			block = A(block,key);
			block = B(block,key);
			block = A(block,key);
			block = B(block,key);
			return block;
		}
		//Декодирование
		public function decoding(block:ByteArray,key:ByteArray):ByteArray{
			block = unB(block,key);
			block = unA(block,key);
			block = unB(block,key);
			block = unA(block,key);
			return block;
		}
		//Операция G
		private function G(word:uint,key:ByteArray,r:uint):uint{
			for(var i:uint = 0;i<4;i++){
				word^= key[(4*r+i)%10];
				word=equ.indexOf(word)
			}
			return word;
		}
		//Декодирование G
		private function unG(word:uint,key:ByteArray,r:uint):uint{
			for(var i:uint = 0;i<4;i++){
				word=equ[word]
				word^= key[(4*r+3-i)%10];
			}
			return word;
		}
		//Кодирование А
		private function A(block:ByteArray,key:ByteArray):ByteArray{
			var buf:Array = new Array(2);
			for(var i:uint=0;i<8;i++){
				block[0]=G(block[0],key,i);
				buf[0]=block[0];
				buf[1]=block[1];
				
				block[0] ^= block[6];
				block[1] ^= block[7];
				
				block[0] ^= i;
				block[1] ^= i;
				
				block[6]=block[4];
				block[7]=block[5];
				
				block[4]=block[2];
				block[5]=block[3];
				
				block[2]=buf[0];
				block[3]=buf[1];
			}
			return block;
		}
		//Декодирование А
		private function unA(block:ByteArray,key:ByteArray):ByteArray{
			var buf:Array = new Array(2);
			for(var i:uint=0;i<8;i++){
				buf[0]=block[2];
				buf[1]=block[3];
				
				block[2]=block[4];
				block[3]=block[5];
				
				block[4]=block[6];
				block[5]=block[7];

				block[0] ^= 7-i;
				block[1] ^= 7-i;
				
				block[6] = block[0] ^ buf[0]
				block[7] = block[1] ^ buf[1]
				
				block[0] = unG(buf[0],key,7-i);
				block[1] = buf[1];
			}
			return block;
		}
		//Кодирование В
		private function B(block:ByteArray,key:ByteArray):ByteArray{
			var buf:Array = new Array(2);
			for(var i:uint=0;i<8;i++){
				block[1]=G(block[1],key,i);
				
				buf[0]=block[0];
				buf[1]=block[1];
				
				buf[0] ^= i;
				buf[1] ^= i;
				
				buf[0] ^= block[2];
				buf[1] ^= block[3];
				
				block[2]=block[0];
				block[3]=block[1];
				
				block[0]=block[6];
				block[1]=block[7];
				
				block[6]=block[4];
				block[7]=block[5];
				
				block[4]=buf[0];
				block[5]=buf[1];
			}
			return block;
		}
		//Декодирование В
		private function unB(block:ByteArray,key:ByteArray):ByteArray{
			var buf:Array = new Array(2);
			for(var i:uint=0;i<8;i++){
				buf[0] = block[4];
				buf[1] = block[5];
				
				block[4]=block[6];
				block[5]=block[7];
				
				block[6] = block[0];
				block[7] = block[1];
				
				block[0]=block[2];
				block[1]=block[3];
				
				block[1]=unG(block[1],key,7-i);
				
				block[2] ^=7-i;
				block[3] ^=7-i;
				
				buf[0] ^= block[2];
				buf[1] ^= block[3];
				
				block[2]=buf[0];
				block[3]=buf[1];
			}
			return block;
		}
	}
}
jэ›Жo®…щpзрсвµ
__________________
Пора бы мне уже умнеть..


Последний раз редактировалось Ноябрь; 24.12.2007 в 03:10.
Старый 02.01.2008, 09:55
Ноябрь вне форума Посмотреть профиль Отправить личное сообщение для Ноябрь Посетить домашнюю страницу Ноябрь Найти все сообщения от Ноябрь
  № 14  
Ноябрь
 
Аватар для Ноябрь

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
Возможно ли картинку перевести в байт массив?
__________________
Пора бы мне уже умнеть..

Старый 02.01.2008, 11:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 15  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Ноябрь
Возможно ли картинку перевести в байт массив?
А что нам хелп по этому поводу говорит?

Старый 02.01.2008, 22:54
Ноябрь вне форума Посмотреть профиль Отправить личное сообщение для Ноябрь Посетить домашнюю страницу Ноябрь Найти все сообщения от Ноябрь
  № 16  
Ноябрь
 
Аватар для Ноябрь

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
ну хорошо, у меня есть BitmapData, а как ее в клип добавить, чтобы видно было?
__________________
Пора бы мне уже умнеть..

Старый 03.01.2008, 00:32
LokiDi L0ck вне форума Посмотреть профиль Отправить личное сообщение для LokiDi L0ck Найти все сообщения от LokiDi L0ck
  № 17  
LokiDi L0ck

Регистрация: Oct 2007
Сообщений: 53
Bitmap
__________________
Новичок

Старый 03.01.2008, 03:34
Ноябрь вне форума Посмотреть профиль Отправить личное сообщение для Ноябрь Посетить домашнюю страницу Ноябрь Найти все сообщения от Ноябрь
  № 18  
Ноябрь
 
Аватар для Ноябрь

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
уж тогда http://livedocs.adobe.com/flash/9.0/...ml#setPixels()
хм.. появилась проблема - после записи и чтения значения байт массива немного меняются...
типа так
6 148 59 175
6 127 42 170

записал в BitmapData методом setPixels() и тут же оттуда их прочел методом getPixels()
__________________
Пора бы мне уже умнеть..


Последний раз редактировалось Ноябрь; 03.01.2008 в 04:22.
Старый 03.01.2008, 14:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ноябрь, вопрос вышел за рамки этой темы.
Создайте новую.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 04:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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