Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2013, 13:35
Интересующийся
Отправить личное сообщение для SeemaN_tm Посмотреть профиль Найти все сообщения от SeemaN_tm
 
Регистрация: 23.01.2013
Сообщений: 19

Что делает JavaScript
Доброго времени суток.
Появилась нужда выяснить что делает конкретный скрипт. Но проблема в том что мне данный язык не знаком. Изначально скрипт был написан в одну строчку, в силу того что вычитал по жаве предал этому такой вид. Прошу сделать к каждой строчке приведённого ниже скрипта комментарий, с описанием что данная строчка делает.

function generatecode(z){
        function A(i){
          function o(j,b){var c=(j<<b)|(j>>>(32-b));return c
                     };
                      function C(j){
				var b="";
				var c;
				var e;
				var x;
				for(c=0;c<=6;c+=2){
					e=(j>>>(c*4+4))&0x0f;
                                	x=(j>>>(c*4))&0x0f;
					b+=e.toString(16)+x.toString(16)
                                                  }
				return b};function q(j){
						var b="";var c;var e;for(c=7;c>=0;c--){
								e=(j>>>(c*4))&0x0f;
								b+=e.toString(16)
										      }		
							return b
							};
		
				function B(j){
				j=j.replace(/\r\n/g,"\n");
				var b="";
				for(var c=0;c<j.length;c++){
						var e=j.charCodeAt(c);
						if(e<128){
							b+=String.fromCharCode(e)
							} else if((e>127)&&(e<2048)){
								b+=String.fromCharCode((e>>6)|192);
								b+=String.fromCharCode((e&63)|128)
											} else {
								b+=String.fromCharCode((e>>12)|224);
								b+=String.fromCharCode(((e>>6)&63)|128);
								b+=String.fromCharCode((e&63)|128)}
							 }return b
                                                                };

				var r;
				var a,y;
				var k=new Array(80);
				var s=0x67452301;
				var t=0xEFCDAB89;
				var u=0x98BADCFE;
				var v=0x10325476;
				var w=0xC3D2E1F0;
				var h,d,f,g,l;
				var m;i=B(i);
				var n=i.length;
				var p=new Array();
				for(a=0;a<n-3;a+=4){
						y=i.charCodeAt(a)<<24|i.charCodeAt(a+1)<<16|i.charCodeAt(a+2)<<8|i.charCodeAt(a+3);
						p.push(y)}
				switch(n%4){
					case 0:a=0x080000000;
					break;
					case 1:a=i.charCodeAt(n-1)<<24|0x0800000;
					break;
					case 2:a=i.charCodeAt(n-2)<<24|i.charCodeAt(n-1)<<16|0x08000;
					break;
					case 3:a=i.charCodeAt(n-3)<<24|i.charCodeAt(n-2)<<16|i.charCodeAt(n-1)<<8|0x80;
					break
						}
				p.push(a);
				while((p.length%16)!=14)p.push(0);
				p.push(n>>>29);
				p.push((n<<3)&0x0ffffffff);
				for(r=0;r<p.length;r+=16){
							for(a=0;a<16;a++)k[a]=p[r+a];
							for(a=16;a<=79;a++)k[a]=o(k[a-3]^k[a-8]^k[a-14]^k[a-16],1);
							h=s;
							d=t;
							f=u;
							g=v;
							l=w;
							for(a=0;a<=19;a++){
									m=(o(h,5)+((d&f)|(~d&g))+l+k[a]+0x5A827999)&0x0ffffffff;
									l=g;
									g=f;
									f=o(d,30);
									d=h;h=m
										}
							for(a=20;a<=39;a++){
									m=(o(h,5)+(d^f^g)+l+k[a]+0x6ED9EBA1)&0x0ffffffff;
									l=g;
									g=f;
									f=o(d,30);
									d=h;
									h=m
										}
							for(a=40;a<=59;a++){
									m=(o(h,5)+((d&f)|(d&g)|(f&g))+l+k[a]+0x8F1BBCDC)&0x0ffffffff;
									l=g;
									g=f;
									f=o(d,30);
									d=h;
									h=m
										}
							for(a=60;a<=79;a++){
									m=(o(h,5)+(d^f^g)+l+k[a]+0xCA62C1D6)&0x0ffffffff;
									l=g;
									g=f;
									f=o(d,30);
									d=h;
									h=m
										}
							s=(s+h)&0x0ffffffff;
							t=(t+d)&0x0ffffffff;
							u=(u+f)&0x0ffffffff;
							v=(v+g)&0x0ffffffff;
							w=(w+l)&0x0ffffffff
								}
				var m=q(s)+q(t)+q(u)+q(v)+q(w);
				return m.toLowerCase()
		}
return A("uzen"+z+"sfdhjsfdjk")}
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2013, 13:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Походу перекодровка/шифрование строки
Одни буквы заменяются другими
Разбираться подробнее - лень
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2013, 15:17
Интересующийся
Отправить личное сообщение для SeemaN_tm Посмотреть профиль Найти все сообщения от SeemaN_tm
 
Регистрация: 23.01.2013
Сообщений: 19

Может я не так объяснил, или вы не правильно поняли.
Цитата:
Прошу сделать к каждой строчке приведённого ниже скрипта комментарий, с описанием что данная строчка делает.
А именно, к примеру:
function generatecode(z){
        function A(i){ /*Функция A. Параметр переменной I берётся от туда то*/
          function o(j,b){ /*Функция о. Параметр переменной j и b берётся от туда то*/
var c=(j<<b)|(j>>>(32-b));  /*Объявление переменной с, равной j хрен поймёшь как относящейся к b*/
return c  /*Возврат значения "с"*/
                     };
                      function C(j){ /*Функция С. Параметр переменной j берётся от туда то*/
				var b=""; /*Объявление переменной*/
				var c; /*Объявление переменной*/
				var e; /*Объявление переменной*/
				var x; /*Объявление переменной*/
				for(c=0;c<=6;c+=2){  /*Цыкл от 0 до 6 с шагом 2*/
					e=(j>>>(c*4+4))&0x0f; /*Вот из-за таких моментов я тему и создал*/
                                	x=(j>>>(c*4))&0x0f; /*Что означает << и >>>, да и вообще данное выражение.*/
					b+=e.toString(16)+x.toString(16) /*Здесь мне непонятно что означает b+=*//*b+= числовое значение "е" приобразуется в строковое*//*а то что в скобочках 16 мне так же не поддаётся осознанию*/

Последний раз редактировалось SeemaN_tm, 23.01.2013 в 15:21.
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2013, 15:52
Интересующийся
Отправить личное сообщение для SeemaN_tm Посмотреть профиль Найти все сообщения от SeemaN_tm
 
Регистрация: 23.01.2013
Сообщений: 19

Это не нахальство. А для знающих людей элементарное дело.
Я занимаюсь изучением другого языка программирования, мне надо реализовать то что приведено выше в этом языке. Браться за изучение сразу 2х да ещё биться о иностранный язык ? Это приведёт только к большей путанице.
Вот поэтому я и спрашиваю о том, что делает та или иная строчка вышеописанного кода, дабы его более менее усвоить и разработать аналогичный алгоритм на другом языке.
Да и вообще, ссылаться на то что
Документации по JavaScript в интернете - море

на мой взгляд это просто лень и нежелание людей вникнуть и попытаться объяснить самим. А может простое элементарное незнание.

Последний раз редактировалось SeemaN_tm, 23.01.2013 в 15:56.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2013, 16:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от SeemaN_tm
Это не нахальство. А для знающих людей элементарное дело.
ещё один, кто не знает как, но знает сколько времени другому нужно..
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2013, 16:21
Интересующийся
Отправить личное сообщение для SeemaN_tm Посмотреть профиль Найти все сообщения от SeemaN_tm
 
Регистрация: 23.01.2013
Сообщений: 19

Сообщение от nasqad Посмотреть сообщение
На 1С портировать собрались?
Нет.
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2013, 20:19
Интересующийся
Отправить личное сообщение для SeemaN_tm Посмотреть профиль Найти все сообщения от SeemaN_tm
 
Регистрация: 23.01.2013
Сообщений: 19

Вроде бы как со скриптом я разобрался. Переписал его в Delphi.
Осталось дело за малым. Проверка.

Собственно так идёт обращение к функции.
var code = generatecode($("#code > div  > div:nth-child(4)  > div:nth-child(1)  > div:nth-child(3)  > div:nth-child(2) ").text());


Так же имеется поле с ID которое я привёл в божеский вид.
<div style="display: none" id="code">
<div>
	<div>
		<div>
			<div>
				<div>88095Q7GNT0AS6SJQ6LY</div>
				<div>Z4X038IL0JADQWETYIDA</div>
			</div>
			<div>
				<div>8SA94MJFG22V2M5WCH0H</div>
				<div>SUDOVHYQWXHW23BG9J92</div>
			</div>
			<div>
				<div>BCYPN9FISP62FPHLZU4N</div>
				<div>QGNYPBDROYITOE4UM819</div>
			</div>
		</div>
		<div>
			<div>
				<div>6JBNFAC78XH2AXK7XIQP</div>
				<div>M6UE6VANMDEKIC5CUVBB</div>
			</div>
			<div>
				<div>GZPLSI7HD7LTY31KJ3ON</div>
				<div>7F07GI6UBFL3XVO7AP56</div>
			</div>
			<div>
				<div>K1ZBODPPNDBTAXJBI071</div>
				<div>IBNA2WLPAVDYHNZBBM83</div>
			</div>
		</div>
		<div>
			<div>
				<div>TRWY57ZEH1TJ67ZA3BSD</div>
				<div>LR7KG3NEU49GDQS1KK9Z</div>
			</div>
			<div>
				<div>SPTLI79KZSNDSJ1ZPZ2V</div>
				<div>DNCOMEHUTBE57QQVVRUD</div>
			</div>
			<div>
				<div>N61JSWWH2MPATJU26QNA</div>
				<div>9O9I3BUAB5QSC2GVR29C</div>
			</div>
		</div>
		<div>
			<div>
				<div>LJK30B83MQQKDFM8FK3G</div>
				<div>K9T4CZ5UZAWVQZ30OSMM</div>
			</div>
			<div>
				<div>6U0HC97YEDNQSEBIYP3V</div>
				<div>ZSO9F48QGFBW2JKG6FMM</div>
			</div>
			<div>
				<div>SH1YZ5PUCW3993ALM80J</div>
				<div>L9C0LGHYPKULXG3L6WRX</div>
			</div>
		</div>
	</div>
	<div>
		<div>
			<div>
				<div>6L3IR1UNSUD4UQOU3GVT</div>
				<div>94F01MZXNV8HGGD033BM</div>
			</div>
			<div>
				<div>VIB8VFXTQ5C712UHU7AL</div>
				<div>36SR3VMPF4RRBPRJ86CS</div>
			</div>
			<div>
				<div>GR8QYNDVE5LT8GCS9DW3</div>
				<div>I33FYYDNJY7SIQ5IHO5W</div>
			</div>
		</div>
		<div>
			<div>
				<div>011ABH398SL5NQCJVQXS</div>
				<div>RHBVZ8RCFUMONIYVJHV6</div>
			</div>
			<div>
				<div>PVWAPROFT9EEK20T98VG</div>
				<div>QAVPVSCQ3YCOR4BYFBA4</div>
			</div>
			<div>
				<div>XP40IJKLUCOUN7FB6AAB</div>
				<div>75V64MV7RY0PSEDBFDVD</div>
			</div>
		</div>
		<div>
			<div>
				<div>3RQ7QN36L8LHRF7MU3CQ</div>
				<div>3LIIQOO5LNIIQR8Y49GD</div>
			</div>
			<div>
				<div>BYZL867TJVJODWR4M0I3</div>
				<div>1IXTGA3FAXI2KPLKFNHB</div>
			</div>
			<div>
				<div>B8ADF2CKTMVI5QHQOKQB</div>
				<div>555IC4C4R4N8DTTTPNZF</div>
			</div>
		</div>
		<div>
			<div>
				<div>XCRCUL7BUAFRIN3SGC4V</div>
				<div>V04HYK6O5GKX8KGKULKV</div>
			</div>
			<div>
				<div>QHQV4PJ2ATQOU3ZS98KS</div>
				<div>VJ8TZQEC1W92I6IA04X4</div>
			</div>
			<div>
				<div>AFXE7VYMFT2WA85UX3V1</div>
				<div>YKYHSRYHTHE95KQSHWT3</div>
			</div>
		</div>
	</div>
	<div>
		<div>
			<div>
				<div>OVTD9CDZZ43UXJYIORRB</div>
				<div>5JTSROYWGIPUTPXZPCFZ</div>
			</div>
			<div>
				<div>CBRWNBB9KLPNVROELPFR</div>
				<div>697NQZ7RVG7FRPYLN1HN</div>
			</div>
			<div>
				<div>54W8IGFUD85SNANKNUC1</div>
				<div>7BVSZ6N860IRZ8WSD17V</div>
			</div>
		</div>
		<div>
			<div>
				<div>5424W4HOIMW830DC67TG</div>
				<div>DLKWXGVUFGLMM2TASVPU</div>
			</div>
			<div>
				<div>9T0IUDTV3JB42K0I86LX</div>
				<div>MOQWYX16TNBD3A41ZOPN</div>
			</div>
			<div>
				<div>M9AP783A3H0UT1G838L7</div>
				<div>7ZFQ1WVBSU4PVZTICD43</div>
			</div>
		</div>
		<div>
			<div>
				<div>SZ9S06BIEAPHHNWSSJXY</div>
				<div>XUH29P8L88QDUDY1L55B</div>
			</div>
			<div>
				<div>XVSLRN8MZIZG70R2ZQL5</div>
				<div>28KROO0WQIB389ZPFS3Q</div>
			</div>
			<div>
				<div>YGO89WAHL3WMRNAI6VI9</div>
				<div>KHIQLYI8DUVJMV208A0U</div>
			</div>
		</div>
		<div>
			<div>
				<div>PCY9C0DPEREB3AG1AEH7</div>
				<div>L0Y4LI58BMUZ5MGD3UW3</div>
			</div>
			<div>
				<div>CZNTKJQLOYGN7VGFS16C</div>
				<div>6GGE78GU2SLOFEQGANAC</div>
			</div>
			<div>
				<div>J6889HXWUHE2ODXEWDT8</div>
				<div>2HT73W03VV8RHG8I6JOB</div>
			</div>
		</div>
	</div>
	<div>
		<div>
			<div>
				<div>M5PQJ2N7HKFIPBERQ8RT</div>
				<div>0J2VZJ732BV3XTX96O7R</div>
			</div>
			<div>
				<div>0PEQS30A9ENAQ00YXKSG</div>
				<div>B4ZG5FI4547XNROAJMVP</div>
			</div>
			<div>
				<div>XJRJJ3GW21EFJ2ZY1XOK</div>
				<div>O0V2C659L6BKE9PKY826</div>
			</div>
		</div>
		<div>
			<div>
				<div>ZR1CX8RKOA1FG9R0XHO9</div>
				<div>IEZK1U229S1282T8WOIN</div>
			</div>
			<div>
				<div>BPPFVUS705Y5QJTGYERY</div>
				<div>TYO95XNBGX6GD1RSQGSR</div>
			</div>
			<div>
				<div>34A4EL7IGLOOOSYTC0Y3</div>
				<div>QBO2BC4J7ONJG6P4FXDO</div>
			</div>
		</div>
		<div>
			<div>
				<div>Z8E0WHA12RKCBKNW5YB2</div>
				<div>PO7DI50N3ABX95JTELLG</div>
			</div>
			<div>
				<div>175Q8CSHMS5KTNWYT98E</div>
				<div>8WWL0F52DNH9AXKMQY95</div>
			</div>
			<div>
				<div>6J78TU7KY46G5XEO7CLV</div>
				<div>H7JSEOCJA9QD9UDC2GOX</div>
			</div>
		</div>
		<div>
			<div>
				<div>PK4EV4YR095U9W7UBRZW</div>
				<div>Y9DKZ27S4Q2Y9A1RWC36</div>
			</div>
			<div>
				<div>FNOQ05BYRREAGQ7Z51Q9</div>
				<div>CREVXNR9QMP0KQ1SVXOL</div>
			</div>
			<div>
				<div>YUU00FEGT7JTBNREXOJL</div>
				<div>BLGY6ZV4HFAEYYZQTP8F</div>
			</div>
		</div>
	</div>
	<div>
		<div>
			<div>
				<div>KTZD80CBFZ28HYR77SZA</div>
				<div>9E0W4EBWO7K3HNCICEF2</div>
			</div>
			<div>
				<div>L5LG64J8YXU9RKW8146B</div>
				<div>UU65SNXKTIK4LN8T1HU4</div>
			</div>
			<div>
				<div>26MZ6HB9Q535QL2LEE4W</div>
				<div>HJL7U5MZNUPZOLWEMF47</div>
			</div>
		</div>
		<div>
			<div>
				<div>BKPZTE277GNLWYDA5N2C</div>
				<div>98WFIA8GIL11W26XMXVP</div>
			</div>
			<div>
				<div>2GW4CDQVQTVRCG5JSWOC</div>
				<div>4I0RTJRLZ583N4EYHQKP</div>
			</div>
			<div>
				<div>MK0RKOX19LUXD6S24MFG</div>
				<div>325JAJJ2EO7ESCJFC4UE</div>
			</div>
		</div>
		<div>
			<div>
				<div>02OYWIS5A3GWQWCLKJQR</div>
				<div>RAVBKBD78KAHF1IAM8UE</div>
			</div>
			<div>
				<div>FM172MGY7T8R4B3TG426</div>
				<div>06WE2JEYWY3CU5B2SE80</div>
			</div>
			<div>
				<div>MYD0LVFTHA2S12ZRYAGU</div>
				<div>V6SPH2K8YPLFXLMCQ1L7</div>
			</div>
		</div>
		<div>
			<div>
				<div>8KOkV7DcL</div>
				<div>EHBGNC139570MYHDN7BK</div>
			</div>
			<div>
				<div>0V1BQ2OQ7QS5S5FS21YP</div>
				<div>EGOOPLAHXI9EW2R911LN</div>
			</div>
			<div>
				<div>OQFAXMXV4E9H1XX0KAJI</div>
				<div>X193WZHDVH339WQFW6YD</div>
			</div>
		</div>
	</div>
</div> 
</div>


Приведите строчку которая пойдёт в функцию.

Последний раз редактировалось SeemaN_tm, 24.01.2013 в 23:14.
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2013, 21:11
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от SeemaN_tm
Переписал его в Delphi.
не лучший язык вы выбрали для изучения. Лучше уж на худой конец учите Си, ну или Java а Дельфи это мертвый язык, точнее скоро он станет лишь историей (если не произойдет какое-то чудо).
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 25.01.2013, 11:42
Интересующийся
Отправить личное сообщение для SeemaN_tm Посмотреть профиль Найти все сообщения от SeemaN_tm
 
Регистрация: 23.01.2013
Сообщений: 19

Сообщение от devote Посмотреть сообщение
не лучший язык вы выбрали для изучения. Лучше уж на худой конец учите Си, ну или Java а Дельфи это мертвый язык, точнее скоро он станет лишь историей (если не произойдет какое-то чудо).
Всему своё время. И до Си доберёмся.
Ответить с цитированием
  #10 (permalink)  
Старый 25.01.2013, 11:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от SeemaN_tm
Всему своё время. И до Си доберёмся.
Дело не во времени, а в синтаксисе.. Сиснтаксис Дельфи совсем не похож на синтаксис других нормальных языков, и переучивать придется по большей части все заново, что по сути тоже самое что начать сейчас.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что делаю не так? Javascript + Radio button + Input dmonco Элементы интерфейса 3 19.05.2012 16:22
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
что делает этот код ? asker Общие вопросы Javascript 7 19.12.2011 19:53
http://gigalit.info - Мои контакты Маэстро Ваши сайты и скрипты 70 08.12.2011 03:12
Поюзайте хомячка Nanto Ваши сайты и скрипты 30 06.06.2011 22:16