Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
comisioane asociatie proprietari

Primul sistem de televiziune cu p...

Internetul este neutilizabil fara...

Eroare cloud burn icopy face id
 DermaRoller ce este ?

Articole limba Germana

Cum se imparte legal o mostenire ...

Avem sanse sa avem energie electr...
 Radio Bucur 1

Sfaturi boiler pana la bransament...

Creare site gen OLX / Autovit

Imagini gratuit sau contra cost i...
 Fisuri beton de egalizare

Reincepe mineritul in UE

Playlist melodii radio - unde?

P0335 senzor arbore cotit - senzo...
 

conversie base64 challange

- - - - -
  • Please log in to reply
36 replies to this topic

#19
maccip

maccip

    45 ani

  • Grup: Senior Members
  • Posts: 33,196
  • Înscris: 06.01.2007
Ce tot ii dai cu Marian care a inteles?
N-ai inteles tu, dar am inteles si eu.
Si a inteles si MarianG ca eu am inteles.
Acum sunt mai pe inteles?

In programare iti trebuie logica, altfel mai bine te faci om politic. Ti-am si dat solutia, te-am si provocat sa gasesti alta.
Ce mai vrei?

#20
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011

 maccip, on 27 noiembrie 2019 - 23:04, said:

Ce tot ii dai cu Marian care a inteles?
N-ai inteles tu, dar am inteles si eu.
Si a inteles si MarianG ca eu am inteles.
Acum sunt mai pe inteles?

In programare iti trebuie logica, altfel mai bine te faci om politic. Ti-am si dat solutia, te-am si provocat sa gasesti alta.
Ce mai vrei?

Ti-am spus ca solutia trebuie sa contina un sir de caractere. Ce nu ai inteles?

#21
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
Cu mențiunea că nu programez în Javascript deci este posibil să greșesc, am următoarele observații.

btoa(q.split('').reverse().join('')) == 'cXRmaWhTRFJhdGZpaFN'+'GMHFo' && (flag=`${q}`);


În primul rând partea din stânga && trebuie să fie adevărată. String-ul q este inversat și apoi transformat în base64. Rezultatul este apoi comparat cu un alt string în base64. Deci vorbim de alt string, mă rog un string format prin concatenarea (+) a două string-uri, nu de string-ul original q. Dacă partea din stânga este adevărată atunci variabila flag va avea orice valoare va avea variabila q și atunci valoarea funcției va fi valoarea lui q.

Deci răspunsul este orice string care nu este gol și care inversat și transformat in base64 este egal cu stringul dat în base64. base64 și inversare sunt funcții inversabile așa că soluția este evidentă.

Edited by tavitu, 27 November 2019 - 23:38.


#22
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005
omule, de unde ai dedus-o  pe asta cu inversat este egal cu el insusi?

care variabila flag? parca foloseam 'strict'

care parte din stanga si care adevaraciune?
btoa ste o functie care iti returneaza base64 avand ca argument q ( cu chestiile de le face el acolo split, reverse, join)

Edited by MarianG, 27 November 2019 - 23:47.


#23
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
Partea asta 'cXRmaWhTRFJhdGZpaFN'+'GMHFo' && (flag=`${q}`); inlocuind q cu "ceva" se evalueaza la "ceva". "ceva" trebuie sa fie == cu btoa("ceva".split('').reverse().join('')).
Voua vi se pare ca ar fi altfel?

#24
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005

 George02, on 27 noiembrie 2019 - 22:36, said:

E bine cum a zis MarianG. El a înțeles. Ok hai sa reformulez:

Aflați X un șir de maxim 18 caractere care inversat și transformat în baza64 este egal cu el însuși.

În ce sens stupida?
hai sa repet ce s-a inteles si ce nu intelegi tu
len(base64(text))!=len(text)

pricepi?!, domnule securitate

 George02, on 27 noiembrie 2019 - 23:56, said:

Partea asta 'cXRmaWhTRFJhdGZpaFN'+'GMHFo' && (flag=`${q}`); inlocuind q cu "ceva" se evalueaza la "ceva". "ceva" trebuie sa fie == cu btoa("ceva".split('').reverse().join('')).
Voua vi se pare ca ar fi altfel?
ia vezi ce se intampla fara btoa

#25
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011

 MarianG, on 28 noiembrie 2019 - 00:01, said:

len(base64(text))!=len(text)

Deci problema nu are solutie?

#26
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009

 George02, on 27 noiembrie 2019 - 19:32, said:

Aflați X un șir de maxim 18 caractere care inversat și transformat în baza64 este egal cu el însuși.
Problema asta nu are soluție. Dar nu asta este problema care trebuie rezolvată.

 MarianG, on 27 noiembrie 2019 - 23:44, said:

care variabila flag? parca foloseam 'strict'
Nu am experiență reală în Javascript așa că nu am știut ce face "use strict" sau că este suficient de important încât să îl caut pe google.

#27
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005

 George02, on 28 noiembrie 2019 - 00:26, said:

Deci problema nu are solutie?
nu la modul cum ai exrimat-o tu, ca site-ul n-are nici un enunt

Edited by MarianG, 28 November 2019 - 06:16.


#28
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005
Attached File  solution.png   49.35K   40 downloads

#29
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
Deci ce nu am înțeles eu bine? Care este răspunsul?

#30
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005
nu ai inteles cerinta, iar asta e parte din provocare

 George02, on 28 noiembrie 2019 - 08:59, said:

Care este răspunsul?
raspunsul este ca trebuie sa inveti Javascript
<script>
"use strict";
let q="";const Q=_=>btoa(q.split('').reverse().join(''))=='cXRmaWhTRFJhdGZpaFN'+ 'GMHFo'&&(flag=`${q}`);window.onkeyup=e=>Q(q=((q+e.key).slice(-0o22)));
</script>
daca nu intelegi ce se intampla aici raspunsul nu te ajuta la nimic,
bine, doar o sa ai niste puncte pe un site, egal cu zero

 George02, on 27 noiembrie 2019 - 23:56, said:

Partea asta 'cXRmaWhTRFJhdGZpaFN'+'GMHFo' && (flag=`${q}`); inlocuind q cu "ceva" se evalueaza la "ceva". "ceva" trebuie sa fie == cu btoa("ceva".split('').reverse().join('')).
te-ai uitat sa vezi ce rezulta din "concatenarea" asta ?

#31
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
"a" concatenat cu "b" => "ab"

#32
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,416
  • Înscris: 10.08.2005
"a" concatenat cu "b" => "ab", destul de corect, dar
'a' + 'b' =  ?

#33
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
"The + operator does string concatenation as soon as one of its operands is a string. Then the other operand is converted to string."

Aaa

#34
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011
<script>
	 "use strict";
	 var q = 'cXRmaWhTRFJhdGZpaFN'+ 'GMHFo';
	 console.log(q);
	 console.log(typeof(q));
</script>

[ https://i.ibb.co/K2Nrk9m/console.png - Pentru incarcare in pagina (embed) Click aici ]

Care-i treaba ca nu inteleg? Prima oara am crezut ca datorita faptului ca sirul de caractere este cuprins intre apostroafe comportamentul concatenarii ar putea fi diferit. Dar pare ca nu e asa.

Edited by George02, 28 November 2019 - 17:06.


#35
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
Asta
btoa(q.split('').reverse().join('')) == 'cXRmaWhTRFJhdGZpaFN' + 'GMHFo'
După concatenare devine:
btoa(q.split('').reverse().join('')) == 'cXRmaWhTRFJhdGZpaFNGMHFo'
Înțelegi ce se întâmplă acolo?

Edited by tavitu, 28 November 2019 - 17:19.


#36
George02

George02

    Member

  • Grup: Members
  • Posts: 356
  • Înscris: 09.01.2011

 tavitu, on 28 noiembrie 2019 - 17:18, said:

Asta
btoa(q.split('').reverse().join('')) == 'cXRmaWhTRFJhdGZpaFN' + 'GMHFo'
După concatenare devine:
btoa(q.split('').reverse().join('')) == 'cXRmaWhTRFJhdGZpaFNGMHFo'
Înțelegi ce se întâmplă acolo?

Mda. A fost derutanta treaba cu && (flag=`${q}`); Nici nu m-am mai uitat la prima parte.
Mersi de ajutor!

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate